{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Module 6 - Introduction to Python for Data Analysis\n", "# : Why you will NOT use Excel anymore!\n", "\n", "* **Instructor**: Ronnie (Saerom) Lee and Jeff Lockhart\n", "* **Date**: June 8th (Thursday), 2017\n", "* **Packages**: pandas, numpy, matplotlib, statsmodels\n", " * *pandas*: an open source library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.\n", " \n", " * *Matplotlib*: a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms.\n", " * *Statsmodels*: a Python module that provides classes and functions for the estimation of many different statistical models" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 0. Import relevant packages\n", "* *import* bring in packages of useful tools and functions for you to use\n", "* *import (package_name) as (abbreviation)* lets you refer to the package by the name abbreviation, so you can type less" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import statsmodels.api as sm\n", "import statsmodels.formula.api as smf\n", "\n", "# This makes it so that plots show up here in the notebook.\n", "# You do not need it if you are not using a notebook.\n", "%matplotlib inline\n", "\n", "from IPython.display import Image" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. pandas\n", "\n", "### 1.1. How to create, save, and read a dataframe\n", "\n", "#### (1) Create a dataframe" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseDateGroupNamesQuizSectionYear
0Intro to Big Data2016-06-071Ronnie20.06Junior
1Intro to Big Data2016-06-072Jeff90.06Junior
2Intro to Big Data2016-06-071Teddy60.06Senior
3Intro to Big Data2016-06-072Jerry100.06Senior
\n", "
" ], "text/plain": [ " Course Date Group Names Quiz Section Year\n", "0 Intro to Big Data 2016-06-07 1 Ronnie 20.0 6 Junior\n", "1 Intro to Big Data 2016-06-07 2 Jeff 90.0 6 Junior\n", "2 Intro to Big Data 2016-06-07 1 Teddy 60.0 6 Senior\n", "3 Intro to Big Data 2016-06-07 2 Jerry 100.0 6 Senior" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = {'Course' : 'Intro to Big Data',\n", " 'Section' : '6', \n", " 'Names' : ['Ronnie', 'Jeff', 'Teddy', 'Jerry'],\n", " 'Group' : ['1', '2', '1', '2'],\n", " 'Year' : ['Junior'] * 2 + ['Senior'] * 2,\n", " 'Date' : pd.Timestamp('20160607'),\n", " 'Quiz' : np.array([20, 90, 60, 100], dtype='float64')}\n", "\n", "df = pd.DataFrame(data)\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Rename a column" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseDateGroupNameQuizSectionYear
0Intro to Big Data2016-06-071Ronnie20.06Junior
1Intro to Big Data2016-06-072Jeff90.06Junior
2Intro to Big Data2016-06-071Teddy60.06Senior
3Intro to Big Data2016-06-072Jerry100.06Senior
\n", "
" ], "text/plain": [ " Course Date Group Name Quiz Section Year\n", "0 Intro to Big Data 2016-06-07 1 Ronnie 20.0 6 Junior\n", "1 Intro to Big Data 2016-06-07 2 Jeff 90.0 6 Junior\n", "2 Intro to Big Data 2016-06-07 1 Teddy 60.0 6 Senior\n", "3 Intro to Big Data 2016-06-07 2 Jerry 100.0 6 Senior" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = df.rename(index=str, columns={\"Names\": \"Name\"})\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### (2) Save the dataframe into a file: We will learn how to save first, since we don't have a file to read yet.\n", "* csv/tsv/txt file (Note: Don't forget to specify the separator!)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "df.to_csv('data.csv', sep = ',', index = False) # if comma separated (csv)\n", "df.to_csv('data.tsv', sep = '\\t', index = False) # if tab separated (tsv)\n", "df.to_csv('data.txt', sep = '\\t', index = False) # you can also use sep = ',' as in csv files" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Excel file" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "df.to_excel('data.xlsx', index_label='label')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### (3) Read a file into a dataframe\n", "* csv/tsv/txt file (Note: Don't forget to specify the separator!)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseDateGroupNameQuizSectionYear
0Intro to Big Data2016-06-071Ronnie20.06Junior
1Intro to Big Data2016-06-072Jeff90.06Junior
2Intro to Big Data2016-06-071Teddy60.06Senior
3Intro to Big Data2016-06-072Jerry100.06Senior
\n", "
" ], "text/plain": [ " Course Date Group Name Quiz Section Year\n", "0 Intro to Big Data 2016-06-07 1 Ronnie 20.0 6 Junior\n", "1 Intro to Big Data 2016-06-07 2 Jeff 90.0 6 Junior\n", "2 Intro to Big Data 2016-06-07 1 Teddy 60.0 6 Senior\n", "3 Intro to Big Data 2016-06-07 2 Jerry 100.0 6 Senior" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_csv = pd.read_csv('data.csv', sep = ',')\n", "df_csv" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseDateGroupNameQuizSectionYear
0Intro to Big Data2016-06-071Ronnie20.06Junior
1Intro to Big Data2016-06-072Jeff90.06Junior
2Intro to Big Data2016-06-071Teddy60.06Senior
3Intro to Big Data2016-06-072Jerry100.06Senior
\n", "
" ], "text/plain": [ " Course Date Group Name Quiz Section Year\n", "0 Intro to Big Data 2016-06-07 1 Ronnie 20.0 6 Junior\n", "1 Intro to Big Data 2016-06-07 2 Jeff 90.0 6 Junior\n", "2 Intro to Big Data 2016-06-07 1 Teddy 60.0 6 Senior\n", "3 Intro to Big Data 2016-06-07 2 Jerry 100.0 6 Senior" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_tsv = pd.read_csv('data.tsv', sep = '\\t')\n", "df_tsv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Excel file" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
labelCourseDateGroupNameQuizSectionYear
00Intro to Big Data2016-06-071Ronnie206Junior
11Intro to Big Data2016-06-072Jeff906Junior
22Intro to Big Data2016-06-071Teddy606Senior
33Intro to Big Data2016-06-072Jerry1006Senior
\n", "
" ], "text/plain": [ " label Course Date Group Name Quiz Section Year\n", "0 0 Intro to Big Data 2016-06-07 1 Ronnie 20 6 Junior\n", "1 1 Intro to Big Data 2016-06-07 2 Jeff 90 6 Junior\n", "2 2 Intro to Big Data 2016-06-07 1 Teddy 60 6 Senior\n", "3 3 Intro to Big Data 2016-06-07 2 Jerry 100 6 Senior" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "with pd.ExcelFile('data.xlsx') as xlsx:\n", " df_excel = pd.read_excel(xlsx, sheetname = 'Sheet1')\n", "df_excel\n", "\n", "### If there are multiple sheets to read from\n", "# with pd.ExcelFile('data.xlsx') as xlsx:\n", "# df_sheet1 = pd.read_excel(xlsx, sheetname = 'Sheet1')\n", "# df_sheet2 = pd.read_excel(xlsx, sheetname = 'Sheet2')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Other formats you can read\n", " - JSON strings: pd.read_json()\n", " - HTML tables: pd.read_html()\n", " - SQL databases: pd.read_sql_table()\n", " - SAS files: pd.read_sas()\n", " - Stata files: pd.read_stata() \n", " - and many more..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.2. How to add and remove row/column(s) in the dateframe\n", "#### (1) Add row/column(s)\n", "* Rows using *.append()*" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseDateGroupNameQuizSectionYear
0Intro to Big Data2016-06-075Donald5.06Freshman
1Intro to Big Data2016-06-075Melania85.06Sophomore
\n", "
" ], "text/plain": [ " Course Date Group Name Quiz Section Year\n", "0 Intro to Big Data 2016-06-07 5 Donald 5.0 6 Freshman\n", "1 Intro to Big Data 2016-06-07 5 Melania 85.0 6 Sophomore" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# First, create a new dataframe\n", "new_data = {'Course' : 'Intro to Big Data',\n", " 'Section' : '6',\n", " 'Name' : ['Donald', 'Melania'],\n", " 'Group' : '5',\n", " 'Year' : ['Freshman', 'Sophomore'],\n", " 'Date' : pd.Timestamp('20160607'),\n", " 'Quiz' : np.array([5, 85], dtype='float64')}\n", "\n", "df2 = pd.DataFrame(new_data)\n", "df2" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseDateGroupNameQuizSectionYear
0Intro to Big Data2016-06-071Ronnie20.06Junior
1Intro to Big Data2016-06-072Jeff90.06Junior
2Intro to Big Data2016-06-071Teddy60.06Senior
3Intro to Big Data2016-06-072Jerry100.06Senior
4Intro to Big Data2016-06-075Donald5.06Freshman
5Intro to Big Data2016-06-075Melania85.06Sophomore
\n", "
" ], "text/plain": [ " Course Date Group Name Quiz Section Year\n", "0 Intro to Big Data 2016-06-07 1 Ronnie 20.0 6 Junior\n", "1 Intro to Big Data 2016-06-07 2 Jeff 90.0 6 Junior\n", "2 Intro to Big Data 2016-06-07 1 Teddy 60.0 6 Senior\n", "3 Intro to Big Data 2016-06-07 2 Jerry 100.0 6 Senior\n", "4 Intro to Big Data 2016-06-07 5 Donald 5.0 6 Freshman\n", "5 Intro to Big Data 2016-06-07 5 Melania 85.0 6 Sophomore" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Append the new dataframe to the existing dataframe\n", "df = df.append(df2, ignore_index=True)\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Or an alternative way to add row(s) is to use *pd.concat()*" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseDateGroupNameQuizSectionYear
0Intro to Big Data2016-06-071Ronnie20.06Junior
1Intro to Big Data2016-06-072Jeff90.06Junior
2Intro to Big Data2016-06-071Teddy60.06Senior
3Intro to Big Data2016-06-072Jerry100.06Senior
4Intro to Big Data2016-06-075Donald5.06Freshman
5Intro to Big Data2016-06-075Melania85.06Sophomore
6Intro to Big Data2016-06-075Donald5.06Freshman
7Intro to Big Data2016-06-075Melania85.06Sophomore
\n", "
" ], "text/plain": [ " Course Date Group Name Quiz Section Year\n", "0 Intro to Big Data 2016-06-07 1 Ronnie 20.0 6 Junior\n", "1 Intro to Big Data 2016-06-07 2 Jeff 90.0 6 Junior\n", "2 Intro to Big Data 2016-06-07 1 Teddy 60.0 6 Senior\n", "3 Intro to Big Data 2016-06-07 2 Jerry 100.0 6 Senior\n", "4 Intro to Big Data 2016-06-07 5 Donald 5.0 6 Freshman\n", "5 Intro to Big Data 2016-06-07 5 Melania 85.0 6 Sophomore\n", "6 Intro to Big Data 2016-06-07 5 Donald 5.0 6 Freshman\n", "7 Intro to Big Data 2016-06-07 5 Melania 85.0 6 Sophomore" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.concat([df, df2], axis = 0, ignore_index = True) # If axis = 1, then add column\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Columns" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseDateGroupNameQuizSectionYearAssignment
0Intro to Big Data2016-06-071Ronnie20.06Junior45.0
1Intro to Big Data2016-06-072Jeff90.06Junior85.0
2Intro to Big Data2016-06-071Teddy60.06Senior50.0
3Intro to Big Data2016-06-072Jerry100.06Senior90.0
4Intro to Big Data2016-06-075Donald5.06Freshman10.0
5Intro to Big Data2016-06-075Melania85.06Sophomore70.0
6Intro to Big Data2016-06-075Donald5.06Freshman10.0
7Intro to Big Data2016-06-075Melania85.06Sophomore70.0
\n", "
" ], "text/plain": [ " Course Date Group Name Quiz Section Year \\\n", "0 Intro to Big Data 2016-06-07 1 Ronnie 20.0 6 Junior \n", "1 Intro to Big Data 2016-06-07 2 Jeff 90.0 6 Junior \n", "2 Intro to Big Data 2016-06-07 1 Teddy 60.0 6 Senior \n", "3 Intro to Big Data 2016-06-07 2 Jerry 100.0 6 Senior \n", "4 Intro to Big Data 2016-06-07 5 Donald 5.0 6 Freshman \n", "5 Intro to Big Data 2016-06-07 5 Melania 85.0 6 Sophomore \n", "6 Intro to Big Data 2016-06-07 5 Donald 5.0 6 Freshman \n", "7 Intro to Big Data 2016-06-07 5 Melania 85.0 6 Sophomore \n", "\n", " Assignment \n", "0 45.0 \n", "1 85.0 \n", "2 50.0 \n", "3 90.0 \n", "4 10.0 \n", "5 70.0 \n", "6 10.0 \n", "7 70.0 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Assignment'] = np.array([45, 85, 50, 90, 10, 70, 10, 70], dtype='float64')\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### (3) Remove rows, columns, and duplicates\n", "* Rows (by index)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseDateGroupNameQuizSectionYearAssignment
1Intro to Big Data2016-06-072Jeff90.06Junior85.0
2Intro to Big Data2016-06-071Teddy60.06Senior50.0
3Intro to Big Data2016-06-072Jerry100.06Senior90.0
4Intro to Big Data2016-06-075Donald5.06Freshman10.0
5Intro to Big Data2016-06-075Melania85.06Sophomore70.0
6Intro to Big Data2016-06-075Donald5.06Freshman10.0
7Intro to Big Data2016-06-075Melania85.06Sophomore70.0
\n", "
" ], "text/plain": [ " Course Date Group Name Quiz Section Year \\\n", "1 Intro to Big Data 2016-06-07 2 Jeff 90.0 6 Junior \n", "2 Intro to Big Data 2016-06-07 1 Teddy 60.0 6 Senior \n", "3 Intro to Big Data 2016-06-07 2 Jerry 100.0 6 Senior \n", "4 Intro to Big Data 2016-06-07 5 Donald 5.0 6 Freshman \n", "5 Intro to Big Data 2016-06-07 5 Melania 85.0 6 Sophomore \n", "6 Intro to Big Data 2016-06-07 5 Donald 5.0 6 Freshman \n", "7 Intro to Big Data 2016-06-07 5 Melania 85.0 6 Sophomore \n", "\n", " Assignment \n", "1 85.0 \n", "2 50.0 \n", "3 90.0 \n", "4 10.0 \n", "5 70.0 \n", "6 10.0 \n", "7 70.0 " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.drop(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Columns" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignment
0Intro to Big Data1Ronnie20.06Junior45.0
1Intro to Big Data2Jeff90.06Junior85.0
2Intro to Big Data1Teddy60.06Senior50.0
3Intro to Big Data2Jerry100.06Senior90.0
4Intro to Big Data5Donald5.06Freshman10.0
5Intro to Big Data5Melania85.06Sophomore70.0
6Intro to Big Data5Donald5.06Freshman10.0
7Intro to Big Data5Melania85.06Sophomore70.0
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0\n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0\n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0\n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0\n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0\n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0\n", "6 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0\n", "7 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = df.drop('Date', axis = 1) \n", "# Note: axis = 1 denotes that we are referring to a column, not a row\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Duplicates" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 False\n", "1 False\n", "2 False\n", "3 False\n", "4 False\n", "5 False\n", "6 True\n", "7 True\n", "dtype: bool" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# First, in order to check whether there are any duplicates\n", "df.duplicated()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignment
0Intro to Big Data1Ronnie20.06Junior45.0
1Intro to Big Data2Jeff90.06Junior85.0
2Intro to Big Data1Teddy60.06Senior50.0
3Intro to Big Data2Jerry100.06Senior90.0
4Intro to Big Data5Donald5.06Freshman10.0
5Intro to Big Data5Melania85.06Sophomore70.0
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0\n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0\n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0\n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0\n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0\n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# If there are duplicates, then run the following code\n", "df = df.drop_duplicates()\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.3. Merge two dataframes\n", "* **Q.** Assume that the students were assigned to groups. For the term project, each group is required to do a presentation and submit a report. Suppose that you graded the presentations and the reports as the following. Create a dataframe with the following information:\n", " - Group 1: \n", " - Presentation: 80\n", " - Report: 60\n", " - Group 2:\n", " - Presentation: 90\n", " - Report: 80\n", " - Group 3:\n", " - Presentation: 100\n", " - Report: 70\n", " - Group 4:\n", " - Presentation: 50\n", " - Report: 30" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
GroupPresentationReport
0180.060.0
1290.080.0
23100.070.0
3450.030.0
\n", "
" ], "text/plain": [ " Group Presentation Report\n", "0 1 80.0 60.0\n", "1 2 90.0 80.0\n", "2 3 100.0 70.0\n", "3 4 50.0 30.0" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "term_project = {'Group' : ['1', '2', '3', '4'],\n", " 'Presentation': [80.0, 90., 100., 50.],\n", " 'Report' : np.array([60, 80, 70, 30], dtype='float64')}\n", "\n", "df3 = pd.DataFrame(term_project)\n", "df3" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignment
0Intro to Big Data1Ronnie20.06Junior45.0
1Intro to Big Data2Jeff90.06Junior85.0
2Intro to Big Data1Teddy60.06Senior50.0
3Intro to Big Data2Jerry100.06Senior90.0
4Intro to Big Data5Donald5.06Freshman10.0
5Intro to Big Data5Melania85.06Sophomore70.0
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0\n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0\n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0\n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0\n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0\n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Rather than putting in the scores one by one, we can simply *merge* the two tables." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
1Intro to Big Data1Teddy60.06Senior50.080.060.0
2Intro to Big Data2Jeff90.06Junior85.090.080.0
3Intro to Big Data2Jerry100.06Senior90.090.080.0
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "1 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "2 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "\n", " Presentation Report \n", "0 80.0 60.0 \n", "1 80.0 60.0 \n", "2 90.0 80.0 \n", "3 90.0 80.0 " ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.merge(df, df3, on = 'Group')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* **Q.** OOPS! We lost The Donald and Melania! What went wrong?\n", "\n", "\n", "* **Q.** How should we merge the data in order to keep The Donald and Melania?\n", " * Important parameter: how = {'left', 'right', 'outer', 'inner'}\n", " - **inner** (*default*): use intersection of keys from both frames, similar to a SQL inner join; preserve the order of the left keys\n", " - **outer**: use union of keys from both frames, similar to a SQL full outer join; sort keys lexicographically\n", " - **left**: use only keys from left frame, similar to a SQL left outer join; preserve key order\n", " - **right**: use only keys from right frame, similar to a SQL right outer join; preserve key order\n", " \n", "* **Q.** Which one of these should we set *how* as?" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
1Intro to Big Data2Jeff90.06Junior85.090.080.0
2Intro to Big Data1Teddy60.06Senior50.080.060.0
3Intro to Big Data2Jerry100.06Senior90.090.080.0
4Intro to Big Data5Donald5.06Freshman10.0NaNNaN
5Intro to Big Data5Melania85.06Sophomore70.0NaNNaN
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0 \n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0 \n", "\n", " Presentation Report \n", "0 80.0 60.0 \n", "1 90.0 80.0 \n", "2 80.0 60.0 \n", "3 90.0 80.0 \n", "4 NaN NaN \n", "5 NaN NaN " ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.merge(df, df3, how = 'left', on = 'Group')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* **Q.** How would the dataframe look like if we set *how = right* or *how = outer*?" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
1Intro to Big Data1Teddy60.06Senior50.080.060.0
2Intro to Big Data2Jeff90.06Junior85.090.080.0
3Intro to Big Data2Jerry100.06Senior90.090.080.0
4NaN3NaNNaNNaNNaNNaN100.070.0
5NaN4NaNNaNNaNNaNNaN50.030.0
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "1 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "2 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "4 NaN 3 NaN NaN NaN NaN NaN \n", "5 NaN 4 NaN NaN NaN NaN NaN \n", "\n", " Presentation Report \n", "0 80.0 60.0 \n", "1 80.0 60.0 \n", "2 90.0 80.0 \n", "3 90.0 80.0 \n", "4 100.0 70.0 \n", "5 50.0 30.0 " ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.merge(df, df3, how = 'right', on = 'Group')" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
1Intro to Big Data1Teddy60.06Senior50.080.060.0
2Intro to Big Data2Jeff90.06Junior85.090.080.0
3Intro to Big Data2Jerry100.06Senior90.090.080.0
4Intro to Big Data5Donald5.06Freshman10.0NaNNaN
5Intro to Big Data5Melania85.06Sophomore70.0NaNNaN
6NaN3NaNNaNNaNNaNNaN100.070.0
7NaN4NaNNaNNaNNaNNaN50.030.0
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "1 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "2 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0 \n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0 \n", "6 NaN 3 NaN NaN NaN NaN NaN \n", "7 NaN 4 NaN NaN NaN NaN NaN \n", "\n", " Presentation Report \n", "0 80.0 60.0 \n", "1 80.0 60.0 \n", "2 90.0 80.0 \n", "3 90.0 80.0 \n", "4 NaN NaN \n", "5 NaN NaN \n", "6 100.0 70.0 \n", "7 50.0 30.0 " ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.merge(df, df3, how = 'outer', on = 'Group')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Thus, the right way to merge the two dataframes is" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
1Intro to Big Data2Jeff90.06Junior85.090.080.0
2Intro to Big Data1Teddy60.06Senior50.080.060.0
3Intro to Big Data2Jerry100.06Senior90.090.080.0
4Intro to Big Data5Donald5.06Freshman10.0NaNNaN
5Intro to Big Data5Melania85.06Sophomore70.0NaNNaN
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0 \n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0 \n", "\n", " Presentation Report \n", "0 80.0 60.0 \n", "1 90.0 80.0 \n", "2 80.0 60.0 \n", "3 90.0 80.0 \n", "4 NaN NaN \n", "5 NaN NaN " ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.merge(df, df3, how = 'left', on = 'Group')\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.4. Check what's in the dataframe\n", "#### (1) See the top and bottom rows of the dataframe" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
1Intro to Big Data2Jeff90.06Junior85.090.080.0
2Intro to Big Data1Teddy60.06Senior50.080.060.0
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "\n", " Presentation Report \n", "0 80.0 60.0 \n", "1 90.0 80.0 \n", "2 80.0 60.0 " ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nRows = 3 # The number of rows to show\n", "df.head(nRows)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
3Intro to Big Data2Jerry100.06Senior90.090.080.0
4Intro to Big Data5Donald5.06Freshman10.0NaNNaN
5Intro to Big Data5Melania85.06Sophomore70.0NaNNaN
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0 \n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0 \n", "\n", " Presentation Report \n", "3 90.0 80.0 \n", "4 NaN NaN \n", "5 NaN NaN " ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.tail(nRows)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### (2) Display the index, columns, and the underlying data" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Int64Index([0, 1, 2, 3, 4, 5], dtype='int64')" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.index" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['Course', 'Group', 'Name', 'Quiz', 'Section', 'Year', 'Assignment',\n", " 'Presentation', 'Report'],\n", " dtype='object')" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.columns" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([['Intro to Big Data', '1', 'Ronnie', 20.0, '6', 'Junior', 45.0,\n", " 80.0, 60.0],\n", " ['Intro to Big Data', '2', 'Jeff', 90.0, '6', 'Junior', 85.0, 90.0,\n", " 80.0],\n", " ['Intro to Big Data', '1', 'Teddy', 60.0, '6', 'Senior', 50.0, 80.0,\n", " 60.0],\n", " ['Intro to Big Data', '2', 'Jerry', 100.0, '6', 'Senior', 90.0,\n", " 90.0, 80.0],\n", " ['Intro to Big Data', '5', 'Donald', 5.0, '6', 'Freshman', 10.0,\n", " nan, nan],\n", " ['Intro to Big Data', '5', 'Melania', 85.0, '6', 'Sophomore', 70.0,\n", " nan, nan]], dtype=object)" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### (3) Sort by values" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
4Intro to Big Data5Donald5.06Freshman10.0NaNNaN
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
2Intro to Big Data1Teddy60.06Senior50.080.060.0
5Intro to Big Data5Melania85.06Sophomore70.0NaNNaN
1Intro to Big Data2Jeff90.06Junior85.090.080.0
3Intro to Big Data2Jerry100.06Senior90.090.080.0
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0 \n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0 \n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "\n", " Presentation Report \n", "4 NaN NaN \n", "0 80.0 60.0 \n", "2 80.0 60.0 \n", "5 NaN NaN \n", "1 90.0 80.0 \n", "3 90.0 80.0 " ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.sort_values(by='Quiz') # Ascending order" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
3Intro to Big Data2Jerry100.06Senior90.090.080.0
1Intro to Big Data2Jeff90.06Junior85.090.080.0
5Intro to Big Data5Melania85.06Sophomore70.0NaNNaN
2Intro to Big Data1Teddy60.06Senior50.080.060.0
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
4Intro to Big Data5Donald5.06Freshman10.0NaNNaN
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0 \n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0 \n", "\n", " Presentation Report \n", "3 90.0 80.0 \n", "1 90.0 80.0 \n", "5 NaN NaN \n", "2 80.0 60.0 \n", "0 80.0 60.0 \n", "4 NaN NaN " ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.sort_values(by='Quiz', ascending=False) # Descending order" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* **Q.** What would happen if we sort a column which has a missing value (i.e., NaN)?" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
1Intro to Big Data2Jeff90.06Junior85.090.080.0
3Intro to Big Data2Jerry100.06Senior90.090.080.0
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
2Intro to Big Data1Teddy60.06Senior50.080.060.0
4Intro to Big Data5Donald5.06Freshman10.0NaNNaN
5Intro to Big Data5Melania85.06Sophomore70.0NaNNaN
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0 \n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0 \n", "\n", " Presentation Report \n", "1 90.0 80.0 \n", "3 90.0 80.0 \n", "0 80.0 60.0 \n", "2 80.0 60.0 \n", "4 NaN NaN \n", "5 NaN NaN " ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.sort_values(by='Report', ascending=False) # Descending order" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### (4) Search for a value" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
0NaNNaNNaNNaNNaNNaNNaNNaNNaN
1Intro to Big Data2Jeff90.06Junior85.090.080.0
2NaNNaNNaNNaNNaNNaNNaNNaNNaN
3Intro to Big Data2Jerry100.06Senior90.090.080.0
4NaNNaNNaNNaNNaNNaNNaNNaNNaN
5Intro to Big Data5Melania85.06Sophomore70.0NaNNaN
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 NaN NaN NaN NaN NaN NaN NaN \n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "2 NaN NaN NaN NaN NaN NaN NaN \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "4 NaN NaN NaN NaN NaN NaN NaN \n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0 \n", "\n", " Presentation Report \n", "0 NaN NaN \n", "1 90.0 80.0 \n", "2 NaN NaN \n", "3 90.0 80.0 \n", "4 NaN NaN \n", "5 NaN NaN " ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.where(df['Assignment'] > 50)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* For specific column" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 NaN\n", "1 Jeff\n", "2 NaN\n", "3 Jerry\n", "4 NaN\n", "5 Melania\n", "Name: Name, dtype: object" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Name'].where(df['Assignment'] > 50)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* **Q.** How can we count the number of students who got 'Assignment' higher than 50?" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Name'].where(df['Assignment'] > 50).count()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### (5) Select\n", "* Column(s)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 45.0\n", "1 85.0\n", "2 50.0\n", "3 90.0\n", "4 10.0\n", "5 70.0\n", "Name: Assignment, dtype: float64" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Assignment']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Row(s)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
1Intro to Big Data2Jeff90.06Junior85.090.080.0
2Intro to Big Data1Teddy60.06Senior50.080.060.0
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "\n", " Presentation Report \n", "0 80.0 60.0 \n", "1 90.0 80.0 \n", "2 80.0 60.0 " ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[0:3]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* By location" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Ronnie'" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[0,'Name']" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Assignment 45\n", "Quiz 20\n", "Name: 0, dtype: object" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[0,['Assignment','Quiz']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Using a condition" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
1Intro to Big Data2Jeff90.06Junior85.090.080.0
3Intro to Big Data2Jerry100.06Senior90.090.080.0
5Intro to Big Data5Melania85.06Sophomore70.0NaNNaN
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0 \n", "\n", " Presentation Report \n", "1 90.0 80.0 \n", "3 90.0 80.0 \n", "5 NaN NaN " ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[df['Assignment'] > 50]" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
1Intro to Big Data2Jeff90.06Junior85.090.080.0
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "\n", " Presentation Report \n", "0 80.0 60.0 \n", "1 90.0 80.0 " ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[df['Year'].isin(['Junior'])]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.5. Missing data\n", "* Let's first take a look at what we have as our dataframe" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
1Intro to Big Data2Jeff90.06Junior85.090.080.0
2Intro to Big Data1Teddy60.06Senior50.080.060.0
3Intro to Big Data2Jerry100.06Senior90.090.080.0
4Intro to Big Data5Donald5.06Freshman10.0NaNNaN
5Intro to Big Data5Melania85.06Sophomore70.0NaNNaN
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0 \n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0 \n", "\n", " Presentation Report \n", "0 80.0 60.0 \n", "1 90.0 80.0 \n", "2 80.0 60.0 \n", "3 90.0 80.0 \n", "4 NaN NaN \n", "5 NaN NaN " ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### (1) Check whether there are any missing data" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReportlog_Reportsqrt_ReportTotal
0FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
1FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
2FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
3FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
4FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
5FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment Presentation Report \\\n", "0 False False False False False False False False False \n", "1 False False False False False False False False False \n", "2 False False False False False False False False False \n", "3 False False False False False False False False False \n", "4 False False False False False False False False False \n", "5 False False False False False False False False False \n", "\n", " log_Report sqrt_Report Total \n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "5 False False False " ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# pd.isnull(df)\n", "df.isnull()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* If the dataframe is large in dimension, it would be NOT be easy to see whether there are any 'True's\n", " \n", "$\\rightarrow$ An easier way to check is to use" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Course 0\n", "Group 0\n", "Name 0\n", "Quiz 0\n", "Section 0\n", "Year 0\n", "Assignment 0\n", "Presentation 2\n", "Report 2\n", "dtype: int64" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.isnull(df).sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### (2) [Option 1] Drop row/column(s) with missing data\n", "* Drop row(s)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
1Intro to Big Data2Jeff90.06Junior85.090.080.0
2Intro to Big Data1Teddy60.06Senior50.080.060.0
3Intro to Big Data2Jerry100.06Senior90.090.080.0
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "\n", " Presentation Report \n", "0 80.0 60.0 \n", "1 90.0 80.0 \n", "2 80.0 60.0 \n", "3 90.0 80.0 " ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.dropna(how='any', axis = 0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Drop column(s)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignment
0Intro to Big Data1Ronnie20.06Junior45.0
1Intro to Big Data2Jeff90.06Junior85.0
2Intro to Big Data1Teddy60.06Senior50.0
3Intro to Big Data2Jerry100.06Senior90.0
4Intro to Big Data5Donald5.06Freshman10.0
5Intro to Big Data5Melania85.06Sophomore70.0
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0\n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0\n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0\n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0\n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0\n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.dropna(how='any', axis = 1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### (3) [Option 2] Fill in missing values\n", "* Fill in ALL missing data with a single value" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "0 80.0\n", "1 90.0\n", "2 80.0\n", "3 90.0\n", "4 30.0\n", "5 20.0\n", "Name: Presentation, dtype: float64" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.fillna(value = 0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Fill in a single value by location" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
1Intro to Big Data2Jeff90.06Junior85.090.080.0
2Intro to Big Data1Teddy60.06Senior50.080.060.0
3Intro to Big Data2Jerry100.06Senior90.090.080.0
4Intro to Big Data5Donald5.06Freshman10.030.060.0
5Intro to Big Data5Melania85.06Sophomore70.020.070.0
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0 \n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0 \n", "\n", " Presentation Report \n", "0 80.0 60.0 \n", "1 90.0 80.0 \n", "2 80.0 60.0 \n", "3 90.0 80.0 \n", "4 30.0 60.0 \n", "5 20.0 70.0 " ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[4,'Presentation'] = 30\n", "df.loc[5,'Presentation'] = 20\n", "df.loc[4,'Report'] = 60\n", "df.loc[5,'Report'] = 70\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.6. Basic statistics" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReport
0Intro to Big Data1Ronnie20.06Junior45.080.060.0
1Intro to Big Data2Jeff90.06Junior85.090.080.0
2Intro to Big Data1Teddy60.06Senior50.080.060.0
3Intro to Big Data2Jerry100.06Senior90.090.080.0
4Intro to Big Data5Donald5.06Freshman10.030.060.0
5Intro to Big Data5Melania85.06Sophomore70.020.070.0
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0 \n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0 \n", "\n", " Presentation Report \n", "0 80.0 60.0 \n", "1 90.0 80.0 \n", "2 80.0 60.0 \n", "3 90.0 80.0 \n", "4 30.0 60.0 \n", "5 20.0 70.0 " ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### (1) Describe shows a quick statistic summary of your data" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
QuizAssignmentPresentationReport
count6.0000006.0000006.0000006.000000
mean60.00000058.33333365.00000068.333333
std39.37003929.77694931.4642659.831921
min5.00000010.00000020.00000060.000000
25%30.00000046.25000042.50000060.000000
50%72.50000060.00000080.00000065.000000
75%88.75000081.25000087.50000077.500000
max100.00000090.00000090.00000080.000000
\n", "
" ], "text/plain": [ " Quiz Assignment Presentation Report\n", "count 6.000000 6.000000 6.000000 6.000000\n", "mean 60.000000 58.333333 65.000000 68.333333\n", "std 39.370039 29.776949 31.464265 9.831921\n", "min 5.000000 10.000000 20.000000 60.000000\n", "25% 30.000000 46.250000 42.500000 60.000000\n", "50% 72.500000 60.000000 80.000000 65.000000\n", "75% 88.750000 81.250000 87.500000 77.500000\n", "max 100.000000 90.000000 90.000000 80.000000" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* **Q.** EWW, IT'S UGLY WITH TOO MANY ZEROS! How can we make this more prettier?" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
QuizAssignmentPresentationReport
count6.006.006.006.00
mean60.0058.3365.0068.33
std39.3729.7831.469.83
min5.0010.0020.0060.00
25%30.0046.2542.5060.00
50%72.5060.0080.0065.00
75%88.7581.2587.5077.50
max100.0090.0090.0080.00
\n", "
" ], "text/plain": [ " Quiz Assignment Presentation Report\n", "count 6.00 6.00 6.00 6.00\n", "mean 60.00 58.33 65.00 68.33\n", "std 39.37 29.78 31.46 9.83\n", "min 5.00 10.00 20.00 60.00\n", "25% 30.00 46.25 42.50 60.00\n", "50% 72.50 60.00 80.00 65.00\n", "75% 88.75 81.25 87.50 77.50\n", "max 100.00 90.00 90.00 80.00" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe().round(2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### (2) Caculate\n", "* Mean" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Quiz 60.00\n", "Assignment 58.33\n", "Presentation 65.00\n", "Report 68.33\n", "dtype: float64" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.mean().round(2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Median" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Quiz 72.5\n", "Assignment 60.0\n", "Presentation 80.0\n", "Report 65.0\n", "dtype: float64" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.median().round(2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Min/Max" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "60.0" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Report'].min().round(2)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "80.0" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Report'].max().round(2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Variance" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Quiz 1550.00\n", "Assignment 886.67\n", "Presentation 990.00\n", "Report 96.67\n", "dtype: float64" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.var().round(2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Correlation" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
QuizAssignmentPresentationReport
Quiz1.000.950.310.85
Assignment0.951.000.490.88
Presentation0.310.491.000.36
Report0.850.880.361.00
\n", "
" ], "text/plain": [ " Quiz Assignment Presentation Report\n", "Quiz 1.00 0.95 0.31 0.85\n", "Assignment 0.95 1.00 0.49 0.88\n", "Presentation 0.31 0.49 1.00 0.36\n", "Report 0.85 0.88 0.36 1.00" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.corr().round(2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### (3) Grouping: a process involving one or more of the following steps\n", "* Splitting the data into groups based on some criteria\n", "* Applying a function to each group independently\n", "* Combining the results into a data structure" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
QuizAssignmentPresentationReport
Group
140.047.580.060.0
295.087.590.080.0
545.040.025.065.0
\n", "
" ], "text/plain": [ " Quiz Assignment Presentation Report\n", "Group \n", "1 40.0 47.5 80.0 60.0\n", "2 95.0 87.5 90.0 80.0\n", "5 45.0 40.0 25.0 65.0" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.groupby('Group').mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* **Q.** How can we group by 'Group' and 'Year'?" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
QuizAssignmentPresentationReport
GroupYear
1Junior20.045.080.060.0
Senior60.050.080.060.0
2Junior90.085.090.080.0
Senior100.090.090.080.0
5Freshman5.010.030.060.0
Sophomore85.070.020.070.0
\n", "
" ], "text/plain": [ " Quiz Assignment Presentation Report\n", "Group Year \n", "1 Junior 20.0 45.0 80.0 60.0\n", " Senior 60.0 50.0 80.0 60.0\n", "2 Junior 90.0 85.0 90.0 80.0\n", " Senior 100.0 90.0 90.0 80.0\n", "5 Freshman 5.0 10.0 30.0 60.0\n", " Sophomore 85.0 70.0 20.0 70.0" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.groupby(['Group', 'Year']).mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### (4) Pivot tables" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Group125
Year
FreshmanNaNNaN60.0
Junior60.080.0NaN
Senior60.080.0NaN
SophomoreNaNNaN70.0
\n", "
" ], "text/plain": [ "Group 1 2 5\n", "Year \n", "Freshman NaN NaN 60.0\n", "Junior 60.0 80.0 NaN\n", "Senior 60.0 80.0 NaN\n", "Sophomore NaN NaN 70.0" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.pivot_table(df, values='Report', index=['Year'], columns=['Group'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.4. Basic column operations\n", "* Logarithm\n", " - Natural logarithm: np.log()\n", " - The base 10 logarithm: np.log10()\n", " - The base 2 logarithm: np.log2()" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReportlog_Report
0Intro to Big Data1Ronnie20.06Junior45.080.060.04.094345
1Intro to Big Data2Jeff90.06Junior85.090.080.04.382027
2Intro to Big Data1Teddy60.06Senior50.080.060.04.094345
3Intro to Big Data2Jerry100.06Senior90.090.080.04.382027
4Intro to Big Data5Donald5.06Freshman10.030.060.04.094345
5Intro to Big Data5Melania85.06Sophomore70.020.070.04.248495
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0 \n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0 \n", "\n", " Presentation Report log_Report \n", "0 80.0 60.0 4.094345 \n", "1 90.0 80.0 4.382027 \n", "2 80.0 60.0 4.094345 \n", "3 90.0 80.0 4.382027 \n", "4 30.0 60.0 4.094345 \n", "5 20.0 70.0 4.248495 " ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['log_Report'] = np.log(df['Report'])\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Square root" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CourseGroupNameQuizSectionYearAssignmentPresentationReportlog_Reportsqrt_Report
0Intro to Big Data1Ronnie20.06Junior45.080.060.04.0943457.745967
1Intro to Big Data2Jeff90.06Junior85.090.080.04.3820278.944272
2Intro to Big Data1Teddy60.06Senior50.080.060.04.0943457.745967
3Intro to Big Data2Jerry100.06Senior90.090.080.04.3820278.944272
4Intro to Big Data5Donald5.06Freshman10.030.060.04.0943457.745967
5Intro to Big Data5Melania85.06Sophomore70.020.070.04.2484958.366600
\n", "
" ], "text/plain": [ " Course Group Name Quiz Section Year Assignment \\\n", "0 Intro to Big Data 1 Ronnie 20.0 6 Junior 45.0 \n", "1 Intro to Big Data 2 Jeff 90.0 6 Junior 85.0 \n", "2 Intro to Big Data 1 Teddy 60.0 6 Senior 50.0 \n", "3 Intro to Big Data 2 Jerry 100.0 6 Senior 90.0 \n", "4 Intro to Big Data 5 Donald 5.0 6 Freshman 10.0 \n", "5 Intro to Big Data 5 Melania 85.0 6 Sophomore 70.0 \n", "\n", " Presentation Report log_Report sqrt_Report \n", "0 80.0 60.0 4.094345 7.745967 \n", "1 90.0 80.0 4.382027 8.944272 \n", "2 80.0 60.0 4.094345 7.745967 \n", "3 90.0 80.0 4.382027 8.944272 \n", "4 30.0 60.0 4.094345 7.745967 \n", "5 20.0 70.0 4.248495 8.366600 " ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['sqrt_Report'] = np.sqrt(df['Report'])\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* **Q.** Suppose that the evaluation is based on the following weights\n", " - Quiz: 15%\n", " - Assignment: 20%\n", " - Presentation: 25%\n", " - Report: 40%\n", "\n", "How can we make a new column 'Total' which calculate the weighted sum and rank the students by 'Total' in descending order?" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3 Jerry\n", "1 Jeff\n", "2 Teddy\n", "5 Melania\n", "0 Ronnie\n", "4 Donald\n", "Name: Name, dtype: object" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Total'] = 0.15 * df['Quiz'] + 0.2 * df['Assignment'] + 0.25 * df['Presentation'] + 0.4 * df['Report']\n", "df.sort_values(by='Total', ascending=False)['Name']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.7. Application: Let's apply these tools to a set of real data\n", "#### Q. Read the datafile 'Salaries.csv' (separator = comma) as the variable 'salaries' and show its FIRST 10 rows" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'pd' is not defined", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0msalaries\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread_csv\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'./MLB/Salaries.csv'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msep\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m','\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0msalaries\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mhead\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m10\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mNameError\u001b[0m: name 'pd' is not defined" ] } ], "source": [ "salaries = pd.read_csv('./MLB/Salaries.csv', sep = ',')\n", "salaries.head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. Read the datafile 'Batting.xlsx' (sheetname = 'Batting') as the variable 'batting' and show its LAST 5 rows" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
playeryearteambatting_Gbatting_ABbatting_Rbatting_Hbatting_2Bbatting_3Bbatting_HRbatting_RBIbatting_SBbatting_CSbatting_BBbatting_SObatting_IBBbatting_HBPbatting_SHbatting_SFbatting_GIDP
99841zieglbr012014ARI681.00.00.00.00.00.00.00.00.00.01.00.00.00.00.00.0
99842zimmejo022014WAS3255.03.010.01.00.00.01.00.00.02.021.00.00.09.01.00.0
99843zimmery012014WAS61214.026.060.019.01.05.038.00.00.022.037.00.00.00.04.06.0
99844zobribe012014TBA146570.083.0155.034.03.010.052.010.05.075.084.04.01.02.06.08.0
99845zuninmi012014SEA131438.051.087.020.02.022.060.00.03.017.0158.01.017.00.04.012.0
\n", "
" ], "text/plain": [ " player year team batting_G batting_AB batting_R batting_H \\\n", "99841 zieglbr01 2014 ARI 68 1.0 0.0 0.0 \n", "99842 zimmejo02 2014 WAS 32 55.0 3.0 10.0 \n", "99843 zimmery01 2014 WAS 61 214.0 26.0 60.0 \n", "99844 zobribe01 2014 TBA 146 570.0 83.0 155.0 \n", "99845 zuninmi01 2014 SEA 131 438.0 51.0 87.0 \n", "\n", " batting_2B batting_3B batting_HR batting_RBI batting_SB \\\n", "99841 0.0 0.0 0.0 0.0 0.0 \n", "99842 1.0 0.0 0.0 1.0 0.0 \n", "99843 19.0 1.0 5.0 38.0 0.0 \n", "99844 34.0 3.0 10.0 52.0 10.0 \n", "99845 20.0 2.0 22.0 60.0 0.0 \n", "\n", " batting_CS batting_BB batting_SO batting_IBB batting_HBP \\\n", "99841 0.0 0.0 1.0 0.0 0.0 \n", "99842 0.0 2.0 21.0 0.0 0.0 \n", "99843 0.0 22.0 37.0 0.0 0.0 \n", "99844 5.0 75.0 84.0 4.0 1.0 \n", "99845 3.0 17.0 158.0 1.0 17.0 \n", "\n", " batting_SH batting_SF batting_GIDP \n", "99841 0.0 0.0 0.0 \n", "99842 9.0 1.0 0.0 \n", "99843 0.0 4.0 6.0 \n", "99844 2.0 6.0 8.0 \n", "99845 0.0 4.0 12.0 " ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "with pd.ExcelFile('Batting.xlsx') as f:\n", " batting = pd.read_excel(f, sheetname = 'Batting')\n", "batting.tail(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. Create a variable 'data' by LEFT MERGING 'salaries' and 'batting' based on 'player', 'year', and 'team' and show the FIRST 7 rows" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
yearteamleagueplayersalarybatting_Gbatting_ABbatting_Rbatting_Hbatting_2B...batting_RBIbatting_SBbatting_CSbatting_BBbatting_SObatting_IBBbatting_HBPbatting_SHbatting_SFbatting_GIDP
01985ATLNLbarkele0187000020.017.00.00.00.0...0.00.01.00.07.00.00.00.00.00.0
11985ATLNLbedrost0155000037.064.03.05.00.0...1.00.00.01.022.00.00.06.00.00.0
21985ATLNLbenedbr0154500070.0208.012.042.06.0...20.00.01.022.012.01.01.04.02.08.0
31985ATLNLcampri0163333366.013.01.03.00.0...2.00.00.01.05.00.00.01.00.00.0
41985ATLNLceronri0162500096.0282.015.061.09.0...25.00.03.029.025.01.01.00.04.015.0
51985ATLNLchambch01800000101.0170.016.040.07.0...21.00.00.018.022.04.00.00.01.05.0
61985ATLNLdedmoje0115000060.09.00.01.00.0...1.00.00.01.03.00.00.01.00.00.0
\n", "

7 rows × 22 columns

\n", "
" ], "text/plain": [ " year team league player salary batting_G batting_AB batting_R \\\n", "0 1985 ATL NL barkele01 870000 20.0 17.0 0.0 \n", "1 1985 ATL NL bedrost01 550000 37.0 64.0 3.0 \n", "2 1985 ATL NL benedbr01 545000 70.0 208.0 12.0 \n", "3 1985 ATL NL campri01 633333 66.0 13.0 1.0 \n", "4 1985 ATL NL ceronri01 625000 96.0 282.0 15.0 \n", "5 1985 ATL NL chambch01 800000 101.0 170.0 16.0 \n", "6 1985 ATL NL dedmoje01 150000 60.0 9.0 0.0 \n", "\n", " batting_H batting_2B ... batting_RBI batting_SB batting_CS \\\n", "0 0.0 0.0 ... 0.0 0.0 1.0 \n", "1 5.0 0.0 ... 1.0 0.0 0.0 \n", "2 42.0 6.0 ... 20.0 0.0 1.0 \n", "3 3.0 0.0 ... 2.0 0.0 0.0 \n", "4 61.0 9.0 ... 25.0 0.0 3.0 \n", "5 40.0 7.0 ... 21.0 0.0 0.0 \n", "6 1.0 0.0 ... 1.0 0.0 0.0 \n", "\n", " batting_BB batting_SO batting_IBB batting_HBP batting_SH batting_SF \\\n", "0 0.0 7.0 0.0 0.0 0.0 0.0 \n", "1 1.0 22.0 0.0 0.0 6.0 0.0 \n", "2 22.0 12.0 1.0 1.0 4.0 2.0 \n", "3 1.0 5.0 0.0 0.0 1.0 0.0 \n", "4 29.0 25.0 1.0 1.0 0.0 4.0 \n", "5 18.0 22.0 4.0 0.0 0.0 1.0 \n", "6 1.0 3.0 0.0 0.0 1.0 0.0 \n", "\n", " batting_GIDP \n", "0 0.0 \n", "1 0.0 \n", "2 8.0 \n", "3 0.0 \n", "4 15.0 \n", "5 5.0 \n", "6 0.0 \n", "\n", "[7 rows x 22 columns]" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = pd.merge(salaries, batting, how='left', on = ['player', 'year', 'team'])\n", "data.head(7)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. Read the STATA datafile 'Pitching.dta' as the variable 'pitching' and show its LAST 4 rows" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
playeryearteampitching_wpitching_lpitching_gpitching_gspitching_cgpitching_shopitching_sv...pitching_ibbpitching_wppitching_hbppitching_bkpitching_bfppitching_gfpitching_rpitching_shpitching_sfpitching_gidp
43326youngch032014SEA1293029000...3.05.03.01688.00.0704.09.06.0
43327zeidjo012014HOU00230000...1.01.01.0098.06.0181.02.01.0
43328zieglbr012014ARI53680001...6.00.03.00281.011.0292.04.09.0
43329zimmejo022014WAS1453232320...0.04.06.00800.00.0675.03.011.0
\n", "

4 rows × 28 columns

\n", "
" ], "text/plain": [ " player year team pitching_w pitching_l pitching_g pitching_gs \\\n", "43326 youngch03 2014 SEA 12 9 30 29 \n", "43327 zeidjo01 2014 HOU 0 0 23 0 \n", "43328 zieglbr01 2014 ARI 5 3 68 0 \n", "43329 zimmejo02 2014 WAS 14 5 32 32 \n", "\n", " pitching_cg pitching_sho pitching_sv ... pitching_ibb \\\n", "43326 0 0 0 ... 3.0 \n", "43327 0 0 0 ... 1.0 \n", "43328 0 0 1 ... 6.0 \n", "43329 3 2 0 ... 0.0 \n", "\n", " pitching_wp pitching_hbp pitching_bk pitching_bfp pitching_gf \\\n", "43326 5.0 3.0 1 688.0 0.0 \n", "43327 1.0 1.0 0 98.0 6.0 \n", "43328 0.0 3.0 0 281.0 11.0 \n", "43329 4.0 6.0 0 800.0 0.0 \n", "\n", " pitching_r pitching_sh pitching_sf pitching_gidp \n", "43326 70 4.0 9.0 6.0 \n", "43327 18 1.0 2.0 1.0 \n", "43328 29 2.0 4.0 9.0 \n", "43329 67 5.0 3.0 11.0 \n", "\n", "[4 rows x 28 columns]" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pitching = pd.read_stata('./MLB/Pitching.dta')\n", "pitching.tail(4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. FOR SIMPLICITY, drop all columns with missing values" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
playeryearteampitching_wpitching_lpitching_gpitching_gspitching_cgpitching_shopitching_svpitching_hpitching_erpitching_hrpitching_bbpitching_sopitching_bkpitching_r
0bechtge011871PH1123320043230111042
1brainas011871WS3121530303000361132437130292
2fergubo011871NY200100008300009
3fishech011871RC141624242210295103331150257
4fleetfr011871NY201111002010030021
\n", "
" ], "text/plain": [ " player year team pitching_w pitching_l pitching_g pitching_gs \\\n", "0 bechtge01 1871 PH1 1 2 3 3 \n", "1 brainas01 1871 WS3 12 15 30 30 \n", "2 fergubo01 1871 NY2 0 0 1 0 \n", "3 fishech01 1871 RC1 4 16 24 24 \n", "4 fleetfr01 1871 NY2 0 1 1 1 \n", "\n", " pitching_cg pitching_sho pitching_sv pitching_h pitching_er \\\n", "0 2 0 0 43 23 \n", "1 30 0 0 361 132 \n", "2 0 0 0 8 3 \n", "3 22 1 0 295 103 \n", "4 1 0 0 20 10 \n", "\n", " pitching_hr pitching_bb pitching_so pitching_bk pitching_r \n", "0 0 11 1 0 42 \n", "1 4 37 13 0 292 \n", "2 0 0 0 0 9 \n", "3 3 31 15 0 257 \n", "4 0 3 0 0 21 " ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pitching = pitching.dropna(how='any', axis = 1)\n", "pitching.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. LEFT MERGE 'data' and 'pitching' based on 'player', 'year', and 'team' and show the top 5 rows" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
yearteamleagueplayersalarybatting_Gbatting_ABbatting_Rbatting_Hbatting_2B...pitching_cgpitching_shopitching_svpitching_hpitching_erpitching_hrpitching_bbpitching_sopitching_bkpitching_r
01985ATLNLbarkele0187000020.017.00.00.00.0...0.00.00.084.052.010.037.047.00.055.0
11985ATLNLbedrost0155000037.064.03.05.00.0...0.00.00.0198.088.017.0111.0134.00.0101.0
21985ATLNLbenedbr0154500070.0208.012.042.06.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
31985ATLNLcampri0163333366.013.01.03.00.0...0.00.03.0130.056.08.061.049.00.072.0
41985ATLNLceronri0162500096.0282.015.061.09.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", "

5 rows × 36 columns

\n", "
" ], "text/plain": [ " year team league player salary batting_G batting_AB batting_R \\\n", "0 1985 ATL NL barkele01 870000 20.0 17.0 0.0 \n", "1 1985 ATL NL bedrost01 550000 37.0 64.0 3.0 \n", "2 1985 ATL NL benedbr01 545000 70.0 208.0 12.0 \n", "3 1985 ATL NL campri01 633333 66.0 13.0 1.0 \n", "4 1985 ATL NL ceronri01 625000 96.0 282.0 15.0 \n", "\n", " batting_H batting_2B ... pitching_cg pitching_sho pitching_sv \\\n", "0 0.0 0.0 ... 0.0 0.0 0.0 \n", "1 5.0 0.0 ... 0.0 0.0 0.0 \n", "2 42.0 6.0 ... NaN NaN NaN \n", "3 3.0 0.0 ... 0.0 0.0 3.0 \n", "4 61.0 9.0 ... NaN NaN NaN \n", "\n", " pitching_h pitching_er pitching_hr pitching_bb pitching_so \\\n", "0 84.0 52.0 10.0 37.0 47.0 \n", "1 198.0 88.0 17.0 111.0 134.0 \n", "2 NaN NaN NaN NaN NaN \n", "3 130.0 56.0 8.0 61.0 49.0 \n", "4 NaN NaN NaN NaN NaN \n", "\n", " pitching_bk pitching_r \n", "0 0.0 55.0 \n", "1 0.0 101.0 \n", "2 NaN NaN \n", "3 0.0 72.0 \n", "4 NaN NaN \n", "\n", "[5 rows x 36 columns]" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = pd.merge(data, pitching, how='left', on = ['player', 'year', 'team'])\n", "data.head(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. Check whether there are any missing values in 'data' " ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "year 0\n", "team 0\n", "league 0\n", "player 0\n", "salary 0\n", "batting_G 0\n", "batting_AB 0\n", "batting_R 0\n", "batting_H 0\n", "batting_2B 0\n", "batting_3B 0\n", "batting_HR 0\n", "batting_RBI 0\n", "batting_SB 0\n", "batting_CS 0\n", "batting_BB 0\n", "batting_SO 0\n", "batting_IBB 0\n", "batting_HBP 0\n", "batting_SH 0\n", "batting_SF 0\n", "batting_GIDP 0\n", "pitching_w 0\n", "pitching_l 0\n", "pitching_g 0\n", "pitching_gs 0\n", "pitching_cg 0\n", "pitching_sho 0\n", "pitching_sv 0\n", "pitching_h 0\n", " ..\n", "log_salary 0\n", "1986 0\n", "1987 0\n", "1988 0\n", "1989 0\n", "1990 0\n", "1991 0\n", "1992 0\n", "1993 0\n", "1994 0\n", "1995 0\n", "1996 0\n", "1997 0\n", "1998 0\n", "1999 0\n", "2000 0\n", "2001 0\n", "2002 0\n", "2003 0\n", "2004 0\n", "2005 0\n", "2006 0\n", "2007 0\n", "2008 0\n", "2009 0\n", "2010 0\n", "2011 0\n", "2012 0\n", "2013 0\n", "2014 0\n", "dtype: int64" ] }, "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# pd.isnull(data).sum()\n", "data.isnull().sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. FOR SIMPLICITY, fill in the missing values with zeros and re-check whether there are any missing values" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "year 0\n", "team 0\n", "league 0\n", "player 0\n", "salary 0\n", "batting_G 0\n", "batting_AB 0\n", "batting_R 0\n", "batting_H 0\n", "batting_2B 0\n", "batting_3B 0\n", "batting_HR 0\n", "batting_RBI 0\n", "batting_SB 0\n", "batting_CS 0\n", "batting_BB 0\n", "batting_SO 0\n", "batting_IBB 0\n", "batting_HBP 0\n", "batting_SH 0\n", "batting_SF 0\n", "batting_GIDP 0\n", "pitching_w 0\n", "pitching_l 0\n", "pitching_g 0\n", "pitching_gs 0\n", "pitching_cg 0\n", "pitching_sho 0\n", "pitching_sv 0\n", "pitching_h 0\n", "pitching_er 0\n", "pitching_hr 0\n", "pitching_bb 0\n", "pitching_so 0\n", "pitching_bk 0\n", "pitching_r 0\n", "dtype: int64" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = data.fillna(value = 0.)\n", "pd.isnull(data).sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. Read the csv files 'Basic.csv' (separator = comma) and INNER MERGE with 'data' based on 'player'" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
yearteamleagueplayersalarybatting_Gbatting_ABbatting_Rbatting_Hbatting_2B...birthDaybirthCountrybirthStatebirthCitynameGivenweightheightbatsthrowsdebut
01985ATLNLbarkele0187000020.017.00.00.00.0...27.0USAKYFort KnoxLeonard Harold225.077.0RR9/14/1976
11986ATLNLbarkele018800000.00.00.00.00.0...27.0USAKYFort KnoxLeonard Harold225.077.0RR9/14/1976
21987ATLNLbarkele018900000.00.00.00.00.0...27.0USAKYFort KnoxLeonard Harold225.077.0RR9/14/1976
31987ML4ALbarkele017250011.00.00.00.00.0...27.0USAKYFort KnoxLeonard Harold225.077.0RR9/14/1976
41988ATLNLbarkele019000000.00.00.00.00.0...27.0USAKYFort KnoxLeonard Harold225.077.0RR9/14/1976
\n", "

5 rows × 48 columns

\n", "
" ], "text/plain": [ " year team league player salary batting_G batting_AB batting_R \\\n", "0 1985 ATL NL barkele01 870000 20.0 17.0 0.0 \n", "1 1986 ATL NL barkele01 880000 0.0 0.0 0.0 \n", "2 1987 ATL NL barkele01 890000 0.0 0.0 0.0 \n", "3 1987 ML4 AL barkele01 72500 11.0 0.0 0.0 \n", "4 1988 ATL NL barkele01 900000 0.0 0.0 0.0 \n", "\n", " batting_H batting_2B ... birthDay birthCountry birthState \\\n", "0 0.0 0.0 ... 27.0 USA KY \n", "1 0.0 0.0 ... 27.0 USA KY \n", "2 0.0 0.0 ... 27.0 USA KY \n", "3 0.0 0.0 ... 27.0 USA KY \n", "4 0.0 0.0 ... 27.0 USA KY \n", "\n", " birthCity nameGiven weight height bats throws debut \n", "0 Fort Knox Leonard Harold 225.0 77.0 R R 9/14/1976 \n", "1 Fort Knox Leonard Harold 225.0 77.0 R R 9/14/1976 \n", "2 Fort Knox Leonard Harold 225.0 77.0 R R 9/14/1976 \n", "3 Fort Knox Leonard Harold 225.0 77.0 R R 9/14/1976 \n", "4 Fort Knox Leonard Harold 225.0 77.0 R R 9/14/1976 \n", "\n", "[5 rows x 48 columns]" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "basic = pd.read_csv('./MLB/Basic.csv', sep = ',')\n", "data = pd.merge(data, basic, how='inner', on = ['player'])\n", "data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. Read the csv files 'Teams.csv' (separator = comma) and INNER MERGE with 'data' based on 'team' and 'year" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
yearteamleagueplayersalarybatting_Gbatting_ABbatting_Rbatting_Hbatting_2B...DPFPnameparkattendanceBPFPPFteamIDBRteamIDlahman45teamIDretro
01985ATLNLbarkele0187000020.017.00.00.00.0...197.00.97Atlanta BravesAtlanta-Fulton County Stadium1350137.0105.0106.0ATLATLATL
11986ATLNLbarkele018800000.00.00.00.00.0...181.00.97Atlanta BravesAtlanta-Fulton County Stadium1387181.0105.0106.0ATLATLATL
21987ATLNLbarkele018900000.00.00.00.00.0...170.00.98Atlanta BravesAtlanta-Fulton County Stadium1217402.0104.0106.0ATLATLATL
31987ML4ALbarkele017250011.00.00.00.00.0...155.00.97Milwaukee BrewersCounty Stadium1909244.0103.0103.0MILMILMIL
41988ATLNLbarkele019000000.00.00.00.00.0...138.00.97Atlanta BravesAtlanta-Fulton County Stadium848089.0104.0106.0ATLATLATL
\n", "

5 rows × 93 columns

\n", "
" ], "text/plain": [ " year team league player salary batting_G batting_AB batting_R \\\n", "0 1985 ATL NL barkele01 870000 20.0 17.0 0.0 \n", "1 1986 ATL NL barkele01 880000 0.0 0.0 0.0 \n", "2 1987 ATL NL barkele01 890000 0.0 0.0 0.0 \n", "3 1987 ML4 AL barkele01 72500 11.0 0.0 0.0 \n", "4 1988 ATL NL barkele01 900000 0.0 0.0 0.0 \n", "\n", " batting_H batting_2B ... DP FP name \\\n", "0 0.0 0.0 ... 197.0 0.97 Atlanta Braves \n", "1 0.0 0.0 ... 181.0 0.97 Atlanta Braves \n", "2 0.0 0.0 ... 170.0 0.98 Atlanta Braves \n", "3 0.0 0.0 ... 155.0 0.97 Milwaukee Brewers \n", "4 0.0 0.0 ... 138.0 0.97 Atlanta Braves \n", "\n", " park attendance BPF PPF teamIDBR \\\n", "0 Atlanta-Fulton County Stadium 1350137.0 105.0 106.0 ATL \n", "1 Atlanta-Fulton County Stadium 1387181.0 105.0 106.0 ATL \n", "2 Atlanta-Fulton County Stadium 1217402.0 104.0 106.0 ATL \n", "3 County Stadium 1909244.0 103.0 103.0 MIL \n", "4 Atlanta-Fulton County Stadium 848089.0 104.0 106.0 ATL \n", "\n", " teamIDlahman45 teamIDretro \n", "0 ATL ATL \n", "1 ATL ATL \n", "2 ATL ATL \n", "3 MIL MIL \n", "4 ATL ATL \n", "\n", "[5 rows x 93 columns]" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "teams = pd.read_csv('./MLB/Teams.csv', sep = ',')\n", "data = pd.merge(data, teams, how='left', on = ['team', 'year'])\n", "data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. Save the dataframe 'data' as a tsv file, 'baseball.tsv'" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "data.to_csv('baseball.tsv', sep = '\\t', index = False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. Create a new column 'log_salary' by putting a natural log on ('salary' + 1)" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
yearsalarybatting_Gbatting_ABbatting_Rbatting_Hbatting_2Bbatting_3Bbatting_HRbatting_RBI...HRABBASOAEDPFPattendanceBPFPPFlog_salary
count24768.0024768.0024768.0024768.0024768.0024768.0024768.0024768.0024768.0024768.00...24717.0024717.0024717.0024717.0024717.0024717.0024717.0024717.0024717.0024768.00
mean1999.891931937.6065.10166.2322.4943.928.480.944.9021.46...157.03529.741026.24110.07147.670.982284469.46100.19100.2213.50
std8.323189278.2348.48203.4730.8957.4811.671.888.5630.46...30.6370.75149.4919.9619.860.01726816.304.884.911.38
min1985.000.000.000.000.000.000.000.000.000.00...76.00288.00560.0054.0082.000.97642745.0088.0088.000.00
25%1993.00260000.0027.001.000.000.000.000.000.000.00...135.00482.00926.0097.00135.000.981748680.0097.0097.0012.47
50%2000.00525000.0053.0057.004.009.001.000.000.004.00...158.00529.001027.00108.00148.000.982219110.00100.00100.0013.17
75%2007.002183333.00104.00317.0039.0081.2515.001.006.0036.00...177.00575.001132.00124.00161.000.982820530.00102.00103.0014.60
max2014.0033000000.00163.00716.00152.00262.0059.0023.0073.00165.00...241.00784.001450.00179.00204.000.994483350.00129.00129.0017.31
\n", "

8 rows × 73 columns

\n", "
" ], "text/plain": [ " year salary batting_G batting_AB batting_R batting_H \\\n", "count 24768.00 24768.00 24768.00 24768.00 24768.00 24768.00 \n", "mean 1999.89 1931937.60 65.10 166.23 22.49 43.92 \n", "std 8.32 3189278.23 48.48 203.47 30.89 57.48 \n", "min 1985.00 0.00 0.00 0.00 0.00 0.00 \n", "25% 1993.00 260000.00 27.00 1.00 0.00 0.00 \n", "50% 2000.00 525000.00 53.00 57.00 4.00 9.00 \n", "75% 2007.00 2183333.00 104.00 317.00 39.00 81.25 \n", "max 2014.00 33000000.00 163.00 716.00 152.00 262.00 \n", "\n", " batting_2B batting_3B batting_HR batting_RBI ... HRA \\\n", "count 24768.00 24768.00 24768.00 24768.00 ... 24717.00 \n", "mean 8.48 0.94 4.90 21.46 ... 157.03 \n", "std 11.67 1.88 8.56 30.46 ... 30.63 \n", "min 0.00 0.00 0.00 0.00 ... 76.00 \n", "25% 0.00 0.00 0.00 0.00 ... 135.00 \n", "50% 1.00 0.00 0.00 4.00 ... 158.00 \n", "75% 15.00 1.00 6.00 36.00 ... 177.00 \n", "max 59.00 23.00 73.00 165.00 ... 241.00 \n", "\n", " BBA SOA E DP FP attendance BPF \\\n", "count 24717.00 24717.00 24717.00 24717.00 24717.00 24717.00 24717.00 \n", "mean 529.74 1026.24 110.07 147.67 0.98 2284469.46 100.19 \n", "std 70.75 149.49 19.96 19.86 0.01 726816.30 4.88 \n", "min 288.00 560.00 54.00 82.00 0.97 642745.00 88.00 \n", "25% 482.00 926.00 97.00 135.00 0.98 1748680.00 97.00 \n", "50% 529.00 1027.00 108.00 148.00 0.98 2219110.00 100.00 \n", "75% 575.00 1132.00 124.00 161.00 0.98 2820530.00 102.00 \n", "max 784.00 1450.00 179.00 204.00 0.99 4483350.00 129.00 \n", "\n", " PPF log_salary \n", "count 24717.00 24768.00 \n", "mean 100.22 13.50 \n", "std 4.91 1.38 \n", "min 88.00 0.00 \n", "25% 97.00 12.47 \n", "50% 100.00 13.17 \n", "75% 103.00 14.60 \n", "max 129.00 17.31 \n", "\n", "[8 rows x 73 columns]" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data['log_salary'] = np.log(data['salary'] + 1)\n", "data.describe().round(2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. Examine summary statistics" ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
yearsalarybatting_Gbatting_ABbatting_Rbatting_Hbatting_2Bbatting_3Bbatting_HRbatting_RBI...HRABBASOAEDPFPattendanceBPFPPFlog_salary
count24768.0024768.0024768.0024768.0024768.0024768.0024768.0024768.0024768.0024768.00...24717.0024717.0024717.0024717.0024717.0024717.0024717.0024717.0024717.0024768.00
mean1999.891931937.6065.10166.2322.4943.928.480.944.9021.46...157.03529.741026.24110.07147.670.982284469.46100.19100.2213.50
std8.323189278.2348.48203.4730.8957.4811.671.888.5630.46...30.6370.75149.4919.9619.860.01726816.304.884.911.38
min1985.000.000.000.000.000.000.000.000.000.00...76.00288.00560.0054.0082.000.97642745.0088.0088.000.00
25%1993.00260000.0027.001.000.000.000.000.000.000.00...135.00482.00926.0097.00135.000.981748680.0097.0097.0012.47
50%2000.00525000.0053.0057.004.009.001.000.000.004.00...158.00529.001027.00108.00148.000.982219110.00100.00100.0013.17
75%2007.002183333.00104.00317.0039.0081.2515.001.006.0036.00...177.00575.001132.00124.00161.000.982820530.00102.00103.0014.60
max2014.0033000000.00163.00716.00152.00262.0059.0023.0073.00165.00...241.00784.001450.00179.00204.000.994483350.00129.00129.0017.31
\n", "

8 rows × 73 columns

\n", "
" ], "text/plain": [ " year salary batting_G batting_AB batting_R batting_H \\\n", "count 24768.00 24768.00 24768.00 24768.00 24768.00 24768.00 \n", "mean 1999.89 1931937.60 65.10 166.23 22.49 43.92 \n", "std 8.32 3189278.23 48.48 203.47 30.89 57.48 \n", "min 1985.00 0.00 0.00 0.00 0.00 0.00 \n", "25% 1993.00 260000.00 27.00 1.00 0.00 0.00 \n", "50% 2000.00 525000.00 53.00 57.00 4.00 9.00 \n", "75% 2007.00 2183333.00 104.00 317.00 39.00 81.25 \n", "max 2014.00 33000000.00 163.00 716.00 152.00 262.00 \n", "\n", " batting_2B batting_3B batting_HR batting_RBI ... HRA \\\n", "count 24768.00 24768.00 24768.00 24768.00 ... 24717.00 \n", "mean 8.48 0.94 4.90 21.46 ... 157.03 \n", "std 11.67 1.88 8.56 30.46 ... 30.63 \n", "min 0.00 0.00 0.00 0.00 ... 76.00 \n", "25% 0.00 0.00 0.00 0.00 ... 135.00 \n", "50% 1.00 0.00 0.00 4.00 ... 158.00 \n", "75% 15.00 1.00 6.00 36.00 ... 177.00 \n", "max 59.00 23.00 73.00 165.00 ... 241.00 \n", "\n", " BBA SOA E DP FP attendance BPF \\\n", "count 24717.00 24717.00 24717.00 24717.00 24717.00 24717.00 24717.00 \n", "mean 529.74 1026.24 110.07 147.67 0.98 2284469.46 100.19 \n", "std 70.75 149.49 19.96 19.86 0.01 726816.30 4.88 \n", "min 288.00 560.00 54.00 82.00 0.97 642745.00 88.00 \n", "25% 482.00 926.00 97.00 135.00 0.98 1748680.00 97.00 \n", "50% 529.00 1027.00 108.00 148.00 0.98 2219110.00 100.00 \n", "75% 575.00 1132.00 124.00 161.00 0.98 2820530.00 102.00 \n", "max 784.00 1450.00 179.00 204.00 0.99 4483350.00 129.00 \n", "\n", " PPF log_salary \n", "count 24717.00 24768.00 \n", "mean 100.22 13.50 \n", "std 4.91 1.38 \n", "min 88.00 0.00 \n", "25% 97.00 12.47 \n", "50% 100.00 13.17 \n", "75% 103.00 14.60 \n", "max 129.00 17.31 \n", "\n", "[8 rows x 73 columns]" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.describe().round(2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. Examine statistics grouping by 'team' and show the FIRST 5 rows" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
yearsalarybatting_Gbatting_ABbatting_Rbatting_Hbatting_2Bbatting_3Bbatting_HRbatting_RBI...HRABBASOAEDPFPattendanceBPFPPFlog_salary
team
ANA2000.301895109.2064.66166.5323.5645.608.620.875.0922.62...183.20573.57989.37107.53148.260.982392521.59100.18100.2413.59
ARI2005.652500442.8665.26168.2122.5643.628.991.165.2321.60...174.98503.301163.67101.51140.380.982541094.64104.98105.1114.00
ATL1999.282184393.0267.04168.5722.5343.958.350.845.2521.65...129.95507.221068.68113.40144.010.982424966.92101.92101.3013.58
BAL1999.251846206.1664.19165.4322.3443.718.230.655.4321.58...176.47552.77957.3696.72158.080.982632389.6999.0199.2913.54
BOS1999.722754280.3064.20167.8824.6346.419.900.865.2323.54...150.78518.881082.49109.42144.750.982584700.67104.27103.7113.88
\n", "

5 rows × 73 columns

\n", "
" ], "text/plain": [ " year salary batting_G batting_AB batting_R batting_H \\\n", "team \n", "ANA 2000.30 1895109.20 64.66 166.53 23.56 45.60 \n", "ARI 2005.65 2500442.86 65.26 168.21 22.56 43.62 \n", "ATL 1999.28 2184393.02 67.04 168.57 22.53 43.95 \n", "BAL 1999.25 1846206.16 64.19 165.43 22.34 43.71 \n", "BOS 1999.72 2754280.30 64.20 167.88 24.63 46.41 \n", "\n", " batting_2B batting_3B batting_HR batting_RBI ... HRA \\\n", "team ... \n", "ANA 8.62 0.87 5.09 22.62 ... 183.20 \n", "ARI 8.99 1.16 5.23 21.60 ... 174.98 \n", "ATL 8.35 0.84 5.25 21.65 ... 129.95 \n", "BAL 8.23 0.65 5.43 21.58 ... 176.47 \n", "BOS 9.90 0.86 5.23 23.54 ... 150.78 \n", "\n", " BBA SOA E DP FP attendance BPF PPF \\\n", "team \n", "ANA 573.57 989.37 107.53 148.26 0.98 2392521.59 100.18 100.24 \n", "ARI 503.30 1163.67 101.51 140.38 0.98 2541094.64 104.98 105.11 \n", "ATL 507.22 1068.68 113.40 144.01 0.98 2424966.92 101.92 101.30 \n", "BAL 552.77 957.36 96.72 158.08 0.98 2632389.69 99.01 99.29 \n", "BOS 518.88 1082.49 109.42 144.75 0.98 2584700.67 104.27 103.71 \n", "\n", " log_salary \n", "team \n", "ANA 13.59 \n", "ARI 14.00 \n", "ATL 13.58 \n", "BAL 13.54 \n", "BOS 13.88 \n", "\n", "[5 rows x 73 columns]" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.groupby('team').mean().round(2).head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. Examine statistics grouping by 'team' AND 'year' and show the FIRST 20 rows" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
salarybatting_Gbatting_ABbatting_Rbatting_Hbatting_2Bbatting_3Bbatting_HRbatting_RBIbatting_SB...HRABBASOAEDPFPattendanceBPFPPFlog_salary
teamyear
ANA1997100437061.48156.7723.0043.297.710.714.7722.353.26...202.0605.01050.0126.0140.00.981767330.0102.0102.013.20
1998121414758.76151.2921.3841.188.530.744.1820.212.32...164.0630.01091.0106.0146.00.982519280.0102.0102.013.32
1999138470453.15133.3517.4034.356.000.523.9016.481.75...177.0624.0877.0106.0156.00.982253123.099.0100.013.39
2000171547266.03175.1727.2049.739.671.007.6726.802.97...228.0662.0846.0134.0182.00.982066982.0102.0103.013.47
2001158450569.07178.5322.4047.108.970.835.0021.573.83...168.0525.0947.0103.0142.00.982000919.0101.0101.013.45
2002220434573.93195.8629.3955.2911.431.115.3228.074.00...169.0509.0999.087.0151.00.992305547.0100.099.013.69
2003292709869.44168.7022.0045.158.850.854.8921.893.37...190.0486.0980.0105.0138.00.983061094.098.097.014.07
2004372350672.00190.5228.8554.598.961.375.5626.634.85...170.0502.01164.090.0126.00.983375677.097.097.014.33
ARI199889852755.81145.6717.8636.176.471.254.2816.861.89...188.0489.0908.0100.0125.00.983610290.0100.099.012.85
1999202070559.82164.7426.5045.538.381.356.2925.124.00...176.0543.01198.0104.0129.00.983019654.0101.0101.013.67
2000279928458.77153.9422.1640.457.901.005.2321.102.74...190.0500.01220.0107.0138.00.982942251.0105.0103.014.26
2001303867866.86172.1824.7946.469.110.967.0725.432.18...195.0461.01297.084.0148.00.992736451.0108.0107.014.24
2002311575764.82162.7624.0643.708.391.214.9423.392.79...170.0421.01303.089.0116.00.983198977.0111.0111.014.26
2003322628067.76161.3220.0841.688.881.283.9219.962.52...150.0526.01291.0107.0132.00.982805542.0108.0109.014.26
2004240623249.28121.1414.5931.486.620.833.1713.791.00...197.0668.01153.0139.0144.00.982519560.0105.0107.013.77
2005230848773.93194.0024.7050.1910.441.006.7823.852.48...193.0537.01038.094.0159.00.982059424.0103.0105.013.73
2006229554774.00194.2727.1251.8511.311.045.5425.542.73...168.0536.01115.0104.0172.00.982091685.0105.0105.014.00
2007185955568.39162.1420.8940.188.501.045.2120.323.71...169.0546.01088.0106.0157.00.982325249.0107.0107.013.78
2008236438273.25181.7124.2945.9310.821.685.2522.712.00...147.0451.01229.0113.0137.00.982509924.0108.0108.013.91
2009281214164.31174.4222.9244.159.731.235.9621.543.54...168.0525.01158.0124.0133.00.982128765.0105.0106.014.25
\n", "

20 rows × 72 columns

\n", "
" ], "text/plain": [ " salary batting_G batting_AB batting_R batting_H batting_2B \\\n", "team year \n", "ANA 1997 1004370 61.48 156.77 23.00 43.29 7.71 \n", " 1998 1214147 58.76 151.29 21.38 41.18 8.53 \n", " 1999 1384704 53.15 133.35 17.40 34.35 6.00 \n", " 2000 1715472 66.03 175.17 27.20 49.73 9.67 \n", " 2001 1584505 69.07 178.53 22.40 47.10 8.97 \n", " 2002 2204345 73.93 195.86 29.39 55.29 11.43 \n", " 2003 2927098 69.44 168.70 22.00 45.15 8.85 \n", " 2004 3723506 72.00 190.52 28.85 54.59 8.96 \n", "ARI 1998 898527 55.81 145.67 17.86 36.17 6.47 \n", " 1999 2020705 59.82 164.74 26.50 45.53 8.38 \n", " 2000 2799284 58.77 153.94 22.16 40.45 7.90 \n", " 2001 3038678 66.86 172.18 24.79 46.46 9.11 \n", " 2002 3115757 64.82 162.76 24.06 43.70 8.39 \n", " 2003 3226280 67.76 161.32 20.08 41.68 8.88 \n", " 2004 2406232 49.28 121.14 14.59 31.48 6.62 \n", " 2005 2308487 73.93 194.00 24.70 50.19 10.44 \n", " 2006 2295547 74.00 194.27 27.12 51.85 11.31 \n", " 2007 1859555 68.39 162.14 20.89 40.18 8.50 \n", " 2008 2364382 73.25 181.71 24.29 45.93 10.82 \n", " 2009 2812141 64.31 174.42 22.92 44.15 9.73 \n", "\n", " batting_3B batting_HR batting_RBI batting_SB ... HRA \\\n", "team year ... \n", "ANA 1997 0.71 4.77 22.35 3.26 ... 202.0 \n", " 1998 0.74 4.18 20.21 2.32 ... 164.0 \n", " 1999 0.52 3.90 16.48 1.75 ... 177.0 \n", " 2000 1.00 7.67 26.80 2.97 ... 228.0 \n", " 2001 0.83 5.00 21.57 3.83 ... 168.0 \n", " 2002 1.11 5.32 28.07 4.00 ... 169.0 \n", " 2003 0.85 4.89 21.89 3.37 ... 190.0 \n", " 2004 1.37 5.56 26.63 4.85 ... 170.0 \n", "ARI 1998 1.25 4.28 16.86 1.89 ... 188.0 \n", " 1999 1.35 6.29 25.12 4.00 ... 176.0 \n", " 2000 1.00 5.23 21.10 2.74 ... 190.0 \n", " 2001 0.96 7.07 25.43 2.18 ... 195.0 \n", " 2002 1.21 4.94 23.39 2.79 ... 170.0 \n", " 2003 1.28 3.92 19.96 2.52 ... 150.0 \n", " 2004 0.83 3.17 13.79 1.00 ... 197.0 \n", " 2005 1.00 6.78 23.85 2.48 ... 193.0 \n", " 2006 1.04 5.54 25.54 2.73 ... 168.0 \n", " 2007 1.04 5.21 20.32 3.71 ... 169.0 \n", " 2008 1.68 5.25 22.71 2.00 ... 147.0 \n", " 2009 1.23 5.96 21.54 3.54 ... 168.0 \n", "\n", " BBA SOA E DP FP attendance BPF PPF \\\n", "team year \n", "ANA 1997 605.0 1050.0 126.0 140.0 0.98 1767330.0 102.0 102.0 \n", " 1998 630.0 1091.0 106.0 146.0 0.98 2519280.0 102.0 102.0 \n", " 1999 624.0 877.0 106.0 156.0 0.98 2253123.0 99.0 100.0 \n", " 2000 662.0 846.0 134.0 182.0 0.98 2066982.0 102.0 103.0 \n", " 2001 525.0 947.0 103.0 142.0 0.98 2000919.0 101.0 101.0 \n", " 2002 509.0 999.0 87.0 151.0 0.99 2305547.0 100.0 99.0 \n", " 2003 486.0 980.0 105.0 138.0 0.98 3061094.0 98.0 97.0 \n", " 2004 502.0 1164.0 90.0 126.0 0.98 3375677.0 97.0 97.0 \n", "ARI 1998 489.0 908.0 100.0 125.0 0.98 3610290.0 100.0 99.0 \n", " 1999 543.0 1198.0 104.0 129.0 0.98 3019654.0 101.0 101.0 \n", " 2000 500.0 1220.0 107.0 138.0 0.98 2942251.0 105.0 103.0 \n", " 2001 461.0 1297.0 84.0 148.0 0.99 2736451.0 108.0 107.0 \n", " 2002 421.0 1303.0 89.0 116.0 0.98 3198977.0 111.0 111.0 \n", " 2003 526.0 1291.0 107.0 132.0 0.98 2805542.0 108.0 109.0 \n", " 2004 668.0 1153.0 139.0 144.0 0.98 2519560.0 105.0 107.0 \n", " 2005 537.0 1038.0 94.0 159.0 0.98 2059424.0 103.0 105.0 \n", " 2006 536.0 1115.0 104.0 172.0 0.98 2091685.0 105.0 105.0 \n", " 2007 546.0 1088.0 106.0 157.0 0.98 2325249.0 107.0 107.0 \n", " 2008 451.0 1229.0 113.0 137.0 0.98 2509924.0 108.0 108.0 \n", " 2009 525.0 1158.0 124.0 133.0 0.98 2128765.0 105.0 106.0 \n", "\n", " log_salary \n", "team year \n", "ANA 1997 13.20 \n", " 1998 13.32 \n", " 1999 13.39 \n", " 2000 13.47 \n", " 2001 13.45 \n", " 2002 13.69 \n", " 2003 14.07 \n", " 2004 14.33 \n", "ARI 1998 12.85 \n", " 1999 13.67 \n", " 2000 14.26 \n", " 2001 14.24 \n", " 2002 14.26 \n", " 2003 14.26 \n", " 2004 13.77 \n", " 2005 13.73 \n", " 2006 14.00 \n", " 2007 13.78 \n", " 2008 13.91 \n", " 2009 14.25 \n", "\n", "[20 rows x 72 columns]" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.groupby(['team', 'year']).mean().round(2).head(20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q. [TRY GOOGLING] Create dummy variables for 'year'" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
1986198719881989199019911992199319941995...2005200620072008200920102011201220132014
00000000000...0000000000
11000000000...0000000000
20100000000...0000000000
30100000000...0000000000
40010000000...0000000000
\n", "

5 rows × 29 columns

\n", "
" ], "text/plain": [ " 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 ... 2005 \\\n", "0 0 0 0 0 0 0 0 0 0 0 ... 0 \n", "1 1 0 0 0 0 0 0 0 0 0 ... 0 \n", "2 0 1 0 0 0 0 0 0 0 0 ... 0 \n", "3 0 1 0 0 0 0 0 0 0 0 ... 0 \n", "4 0 0 1 0 0 0 0 0 0 0 ... 0 \n", "\n", " 2006 2007 2008 2009 2010 2011 2012 2013 2014 \n", "0 0 0 0 0 0 0 0 0 0 \n", "1 0 0 0 0 0 0 0 0 0 \n", "2 0 0 0 0 0 0 0 0 0 \n", "3 0 0 0 0 0 0 0 0 0 \n", "4 0 0 0 0 0 0 0 0 0 \n", "\n", "[5 rows x 29 columns]" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "year_dummies = pd.get_dummies(data['year'], drop_first = True)\n", "year_dummies.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Concatenate the two dataframes" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
yearteamleagueplayersalarybatting_Gbatting_ABbatting_Rbatting_Hbatting_2B...2005200620072008200920102011201220132014
01985ATLNLbarkele0187000020.017.00.00.00.0...0000000000
11986ATLNLbarkele018800000.00.00.00.00.0...0000000000
21987ATLNLbarkele018900000.00.00.00.00.0...0000000000
31987ML4ALbarkele017250011.00.00.00.00.0...0000000000
41988ATLNLbarkele019000000.00.00.00.00.0...0000000000
\n", "

5 rows × 123 columns

\n", "
" ], "text/plain": [ " year team league player salary batting_G batting_AB batting_R \\\n", "0 1985 ATL NL barkele01 870000 20.0 17.0 0.0 \n", "1 1986 ATL NL barkele01 880000 0.0 0.0 0.0 \n", "2 1987 ATL NL barkele01 890000 0.0 0.0 0.0 \n", "3 1987 ML4 AL barkele01 72500 11.0 0.0 0.0 \n", "4 1988 ATL NL barkele01 900000 0.0 0.0 0.0 \n", "\n", " batting_H batting_2B ... 2005 2006 2007 2008 2009 2010 2011 \\\n", "0 0.0 0.0 ... 0 0 0 0 0 0 0 \n", "1 0.0 0.0 ... 0 0 0 0 0 0 0 \n", "2 0.0 0.0 ... 0 0 0 0 0 0 0 \n", "3 0.0 0.0 ... 0 0 0 0 0 0 0 \n", "4 0.0 0.0 ... 0 0 0 0 0 0 0 \n", "\n", " 2012 2013 2014 \n", "0 0 0 0 \n", "1 0 0 0 \n", "2 0 0 0 \n", "3 0 0 0 \n", "4 0 0 0 \n", "\n", "[5 rows x 123 columns]" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = pd.concat([data, year_dummies], axis = 1)\n", "data.head()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## 2. matplotlib\n", "### 2.1. Let's plot this data" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['year', 'team', 'league', 'player', 'salary', 'batting_G',\n", " 'batting_AB', 'batting_R', 'batting_H', 'batting_2B', 'batting_3B',\n", " 'batting_HR', 'batting_RBI', 'batting_SB', 'batting_CS',\n", " 'batting_BB', 'batting_SO', 'batting_IBB', 'batting_HBP',\n", " 'batting_SH', 'batting_SF', 'batting_GIDP', 'pitching_w',\n", " 'pitching_l', 'pitching_g', 'pitching_gs', 'pitching_cg',\n", " 'pitching_sho', 'pitching_sv', 'pitching_h', 'pitching_er',\n", " 'pitching_hr', 'pitching_bb', 'pitching_so', 'pitching_bk',\n", " 'pitching_r', 'birthYear', 'birthMonth', 'birthDay', 'birthCountry',\n", " 'birthState', 'birthCity', 'nameGiven', 'weight', 'height', 'bats',\n", " 'throws', 'debut', 'franchID', 'divID', 'Rank', 'G', 'Ghome', 'W',\n", " 'L', 'DivWin', 'WCWin', 'LgWin', 'WSWin', 'R', 'AB', 'H', '2B',\n", " '3B', 'HR', 'BB', 'SO', 'SB', 'CS', 'HBP', 'SF', 'RA', 'ER', 'ERA',\n", " 'CG', 'SHO', 'SV', 'IPouts', 'HA', 'HRA', 'BBA', 'SOA', 'E', 'DP',\n", " 'FP', 'name', 'park', 'attendance', 'BPF', 'PPF', 'teamIDBR',\n", " 'teamIDlahman45', 'teamIDretro'], dtype=object)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import statsmodels.api as sm\n", "import statsmodels.formula.api as smf\n", "\n", "# This makes it so that plots show up here in the notebook.\n", "# You do not need it if you are not using a notebook.\n", "%matplotlib inline\n", "\n", "data = pd.read_csv('baseball.tsv', sep='\\t')\n", "data.columns.values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.2. Histogram: Histograms and other simple plots are easy" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data['salary'].hist(bins=20)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "data['log_salary'] = np.log(data['salary'] + 1)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def log2(value):\n", " result = np.log(value + 1)\n", " return result\n", "\n", "data['log_salary'] = data['salary'].apply(log2)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n4Ck+pUIAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data['log_salary'].hist(bins=20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.3. Scatter plot: Basic two variable plots like this scatter are easy, too." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data.plot.scatter(x = 'batting_RBI', \n", " y = 'salary',\n", " title = 'Scatter plot',\n", " figsize = (5, 4))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.4. Line graph" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#let's get average salary by year born\n", "last = data[(data['year'] == 2014) & (data['birthYear'] > 1900)]\n", "tmp = last.groupby(by='birthYear').mean()\n", "\n", "#And make a line plot of it...\n", "tmp.plot.line(y='log_salary')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* But what if we want to change the formatting?" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "range(1972, 1993)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\ns0nMF3TMF1yJPJvEfEHHfAcpoT4UAQAAUB0l2hY6AACAaieuC52ZTTCzfDPLqbCsl5nNMrNFZjbF\nzBp4y39lZvMrfJWbWW8zq2tm75nZUjPLNbP7/Jvo5yIx317re6fiuvwWqfnMrKaZPWVmy73ncbRf\nM+0RwdnO826/0MymmllTv2aqKMz5apjZRG/5EjO7ucJ9RpjZMjNbaWY3+THLvkRiPjPLMLMZZrbY\ne225xq959hap58+7PtnM5pnZu7GeozIR/PlsZGZveK8rS8zsaD/mqSiCs13n/VzmmNnLZlbbj3n2\nFuZ8Nc3sWW/5AjMbUuE+/bzlK81svJmZD+P8P5GYz6raW5xzcfslabCkvpJyKiz7RtKx3uXfSLpr\nH/frIWmVd7mupOO8yzUlzZR0ot+zRWq+CsvOkPRSxXX5/RWp+STdIelu73KSpKaJMJtChw3K3zOP\npAck/cXv2cKdT9L5kl7xLteVtEZSG0nJklZJauf921sgqZvfs0VwvsMl9fWW15e0PJHmq3C/673X\nlnf9nivS80maKOkS73JNSY0SYTZJLSV9K6mOd91rki7ye7YqzPd7Sc96l5tJmiMpyfv+a0lHSTJJ\n/1EAf69XNp+q2Fviegudc+4zSQV7Le4k6TPv8geS9rW15jxJr3jr2OWcm+FdLpY0V1KrqAQOUyTm\nkyQzq6fQi+7dUYhZZZGaT6F/APd66yx3zvl+kMkIzWbeV6r312UDSRsinzZ8Yc7nFJohRVIdScWS\nCiX1l7TSObfa+7f3iqTTop39YERiPufcRufcXG99OyQtUegXqe8i9PzJzFpJOknS09HOHI5IzGdm\nDRX65fuMt85i59y2aGc/kEg9dwr9wVjHu66ugvna0k3Sx9798iVtk5RlZodLauCcm+1Crec5SaOi\nnf1gRGK+qvaWuC50lcjV//1SOEtSxj5uc46kl/deaGaNJJ0i6aOopTt0VZnvLkkPS9oV3WgREdZ8\n3nMmSXeZ2Vwze93M0qMfs0rCms05VyLpckmLFHqx7Sbvl0ucqmy+NyTtlLRR0lpJDznnChQqN+sq\n3P97xUnhqUS48/2XmbWR1EfSV7EIWkVVme8RSTdIKo9hzqoKd762kjZLetbbpfy0maXGOPPBCms2\n59x6SQ95yzZK2u6cmx7byGGpbL4Fkk41sxQzayupn3ddS4VeT/YI6mtLZfP9Vzi9JYiF7jeSrjCz\n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\nE90AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#ax stands for \"axis\", we'll use this object to change more settings\n", "#we can also specify the image size, in inches, right here with the figsize argument\n", "ax = tmp.plot.line(y='log_salary', figsize=(10,8))\n", "\n", "#add a title to the chart\n", "ax.set_title('Average salary by year born')\n", "\n", "#label the axes\n", "ax.set_ylabel('log(salary)')\n", "ax.set_xlabel('Year born')\n", "\n", "#set the ticks so they're not half years\n", "#The range command makes a list of years starting in 1972 and counting by 2 up to (not including) 1993.\n", "ax.set_xticks(range(1972, 1993, 2))\n", "\n", "#show our plot\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.5. Bar chart" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nhx3GK6+8UvPjkCS1U2Z2+teoUaOyXo444ojcaqutslevXjlgwIC88MIL85BDDsmhQ4fmLrvskgcd\ndFAuXrw4MzPvuuuunDx5cvN3H3nkkdxmm23y7bffXmGf++yzTw4bNiyHDh2aEyZMyJdffrlux1Nv\njzzySA4dOnSFZV/72teyoaEhhw4dmkuWLFnl93r27JmjRo3K3XffPa+66qrMzFy2bFm+733vy7vu\nuiszM0844YQcNmxYbQ+goFtuuSXnzJmzQv+9+OKLze/POeec/PznP7/K7/bt23eVy1t+/8QTT8wz\nzjhjPVXb+UyaNCn79++/Qv99/etfz1122SVHjBiRY8eOzccff3y133/xxRdzwIAB+aUvfSkzM196\n6aUcMWJE82vzzTfPKVOm1Pw4JHV9QGO2I984RYXWq0cffZSDDjqoeXqPls444wzeeOMNTjvttJXW\nPf744wwYMIC//vWv7Lvvvtx00028//3v57bbbuOrX/0qb775JuPGjePaa6/t1vOsran/Fi5cyE9+\n8pOV1vXr16/NUa7M5Itf/CKDBw/mlFNOWa81dxYdnV5mypQpNDU1sdlmm63yus9Ro0bxgx/8gDFj\nxtTuICR1C05RoU6nrevpBgwYAMB2223HRz7yEe655x4A9txzT2699VbuvPNOxowZ03xqckPSnjtz\n33jjDUaPHs0ee+zRPEnwcpMmTWKrrbbigQce4Mtf/nI9Si6iI6fD58yZw9NPP824ceNWuf7BBx9k\nyZIl7LXXXuuv4E6mI6fDoRJ4GxoaOP744wF47bXX+PjHP86QIUMYOnQoU6dOrfkxSF2NIUw11Z7r\n6Z5//vnmaTueeeYZ/vSnP7HzzjsDsGTJEgDefPNNzjrrLI477rg6VN25tOfO3Mcee4zGxkZ+/vOf\n85WvfIWHH364ed3FF1/ME088wU477cR//dd/1avsTmNNIXbZsmWcdNJJnH322avdx2WXXcbhhx++\nVtc0djUdubEGKoGt9SjhP/3TP/HAAw9wzz338Kc//Ynf/OY3Nald6qoMYVpvxo8fz5577smCBQto\naGjgoosuYurUqQwbNozhw4dzww03cM455wDQ2NjIMcccA8D8+fMZPXo0I0aMYJ999mHq1KnNIez7\n3/8+O+20E8OHD+cTn/gE++67b7HjK21dRhKX69mzJ0cccUS3vrFhddYUYs8//3wOPPBAGhoaVruP\nVc39192s75HEPn36sM8++wDQu3dvdt11VxYvXlyDyqUurD0XjpV+1fPCfKmk1jc2PPjgg83vzz33\n3Dz00ENX+s5zzz2Xb7zxRmZmNjU15fbbb59/+ctfctmyZfnQQw9lZuUmh5NOOilPOumkGh9BWau6\nMWS5xx57bJXrPvOZz+TAgQNz0KBBufnmm+cmm2ySp5xySvP6uXPn5g477FCzmjuTdbmx5u233869\n9947Fy1alBdffHHzjQ0tPf/887ntttvmww8/XLPapc6Edl6YX7ORsIiYHhFLImKlK4wj4qSIyIh4\nb63al7qa9T2SmJlMnDiRXXbZhV122YUnn3ySb37zmyUPse7aczp8xowZLFy4kEcffZSzzz6bI488\nkjPPPLN5/aqmndmQdHQkcenSpYwfP54TTjiB7bbbrtblSl1Kze6OjIgxwCvATzNzWIvlA4ELgSHA\nqMx8Zk378u5ISWsyfvx4br75Zp555hm23HJLTjvtNK677joWLFhAjx49GDRoENOmTWPAgAE0NjYy\nbdo0LrzwwhX2cckll9DY2LhC2Nhuu+247rrr2pwfsLto6+7chQsXcuCBB660bsKECdx666306NGD\nV155hbfeeosvfvGLzUH26KOPpl+/fpx77rl1OQapM2jv3ZE1naIiIgYD17YKYbOA7wBXA6MNYZLU\nObQOYQ899BA77LADAD/60Y+45ZZbmDVr1mq/3zrEfv3rX2f+/Plcfvnl9OjhJcjacHTKKSoi4mDg\n8cy8tx3bHhsRjRHR2NTUVIfqJGnDta6nw1dn8eLFnH766dx///3suuuujBw5cqWRR2lDV7eRsIjo\nA/wBGJeZL0bEozgSJkmSupnOOBL2fmBb4N5qAGsA7o6IrepYgyRJUqfQq14NZeZ9wBbLP6/NSJgk\nSVJ3U8spKmYCtwEfiIjFETG5Vm1JkiR1NTUbCcvMNifWyczBtWpbkiSps/OeYUmSOmBVDz8/+eST\nGTJkCMOHD+fTn/40L7zwwiq/e8455zBs2DCGDh3KD3/4w+bla/PwdHVdNb07cn1Z33dHDp766/W2\nr1p49MyPly5BktROs2fPpl+/fhx55JHNc6zdcMMN7LvvvvTq1YtTTjkFgLPOOmuF782bN48jjjiC\nO++8k969e7P//vszbdo0tt9+e1566aXmZ3eee+653H///UybNq2+B6Z11hnvjpQkqdtZ1cPPx40b\nR69elSt+9thjj1U+vHz+/Pnsvvvu9OnTh169erH33ntz5ZVXAu1/eLq6NkOYJEk1NH36dA444ICV\nlg8bNoxbb72VZ599ltdee43rrruORYsWNa8/9dRTGThwIDNmzODb3/52PUtWnRjCJEmqkdNPP51e\nvXoxYcKEldbttNNOnHLKKYwbN47999+fkSNH0rNnzxW+29bD09X1GcIkSaqBSy65hGuvvZYZM2as\n9nTi5MmTmTNnDrNnz+Y973kPO+6440rbTJgwgSuuuKLW5aqAuk3Wqu6jM9/Y4E0NkjqD66+/nu99\n73vccsst9OnTZ7XbLVmyhC222IKFCxdy5ZVXcvvttwMrPjz96quvZsiQIXWpW/VlCJPqqDMHWDDE\nSuti/Pjx3HzzzTzzzDM0NDRw2mmnccYZZ/Dmm28yduxYoHJx/rRp03jiiSc45phjuO666wA49NBD\nefbZZ9loo40477zz2HTTTQGYOnUqCxYsoEePHgwaNKhb3xl59NFHc+2117LFFls031168skn86tf\n/YrevXvz/ve/n4svvri5b1p64YUXOOaYY5g3bx4RwfTp09lzzz259957Oe6443jllVcYPHgwM2bM\nWOFmh87CKSo6oc7+P8LO3H/2Xcd09v6T1P2s6xQfABMnTmSvvfbimGOO4a233uK1115j0003Zbfd\nduPss89m7733Zvr06TzyyCN85zvfqdsxtXeKCkfCJHUZhlip+xkzZgyPPvroCsvGjRvX/H6PPfZg\n1qxZK33vxRdfZPbs2VxyySUA9O7dm969ewPw4IMPMmbMGADGjh3LfvvtV9cQ1l6GMEnaQBhi1RVN\nnz6dww8/fKXljzzyCP3792fSpEnce++9jBo1inPOOYe+ffsydOhQrr76aj71qU9x+eWXrzD1R2fi\n3ZGSJKlTamuKj6VLl3L33XfzhS98gXvuuYe+ffty5plnApXgdv755zNq1Chefvnl5hGyzsaRMEmS\n1Oksn+LjpptuWuUUHw0NDTQ0NLD77rsDcNhhhzWHsCFDhnDDDTcAlVOTv/515xwFdiRMkiR1Ksun\n+LjmmmtWO8XHVlttxcCBA1mwYAEAN910EzvvvDNQmfoDYNmyZXz3u9/luOOOq0/ha8kQJkmSihk/\nfjx77rknCxYsoKGhgYsuuojjjz+el19+mbFjxzJy5MjmEPXEE09w4IEHNn/3Rz/6ERMmTGD48OHM\n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\nqp2r6XQAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#group our data by rank\n", "tmp = data.groupby(by='Rank').mean()\n", "\n", "#plot the mean log salary by rank\n", "ax = tmp['log_salary'].plot.bar(figsize=(10,8))\n", "ax.set_title('Average pay by rank')\n", "ax.set_ylabel('log(salary)')\n", "ax.set_xlabel('Rank')\n", "\n", "#set the upper and lower limits of the y axis\n", "ax.set_ylim(ymin=0, ymax=16)\n", "\n", "#get the location of the bars (rectangles)\n", "rects = ax.patches\n", "#loop throgh each bar and label it with its value\n", "for rect, label in zip(rects, tmp['log_salary']):\n", " #find out the height of the bar on the image\n", " height = rect.get_height()\n", " l = '{:5.2f}'.format(label)\n", " ax.text(rect.get_x() + rect.get_width()/2, height + 0.5, l, ha='center', va='bottom')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Bar chart with error bars" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmEAAAH2CAYAAAA4flstAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu4rdd8L/DvLwmNRITIFtqIaCsIlZRNqNt2KXGpqKqK\na9Gmetzq9FQpp+lFnWi1qk+1pEQSlzgEFeqSoKROCTsRhFB1TVSSHRGCKOF3/phzy8q2L2vvtecc\na639+TzPfPac7/vOd/zWyFor3zXeMcdb3R0AAOZrt9EFAADsioQwAIABhDAAgAGEMACAAYQwAIAB\nhDAAgAGEMIAlqqoTq+r5o+vYnKr6UlXdd3QdwE8SwoAfq6r3V9U3quqnRtcCsNoJYUCSpKoOTnL3\nJJ3kITNqY49ZnHe10l+wuglhwEaPS/LhJCcmefzGjVV1RFVdVFW7L9j2q1X1ienz3arq2VX1+ar6\nelW9oar2m+47uKq6qp5UVV9J8r7p9jdOz/nNqjqzqm6z4Nw3rKq3VdW3quqjVfX8qvrggv23qqoz\nquqyqvpsVT1iS1/QdGTv/1TVR6bne+vG2rZWR1Xdsaou3uRrflhVfXwr/bf/tK4rquoDVXWz6fte\nWlV/vUldp1XVM7dQc1fVU6rqc0k+N932kqq6YPo1nF1Vd19w/J9M+/zkadufqqq1Wzj3ravqi1V1\n9Fa+DmBOhDBgo8clee30cf+qOiBJuvusJN9Jcu8Fxz4qyeumz5+W5KFJ7pnkp5N8I8lLNzn3PZPc\nOsn9p6/fmeQWSW6U5Jxpmxu9dNrejTMJgwsD4d5Jzpi2faMkj0zyD1V16Da+ricmuUmSq5L83YJ9\nm62juz+a5OtJ7rfg2McmOXkr7Tw6yZ8n2T/JuQu+ppOSHF1Vu02/hv2T3DdX99/mPDTJEUk2fl0f\nTXJ4kv2m73tjVe254PiHJHl9kusnOS3J3296wqq6fZJ3J3lad5+ylbaBeeluDw+PXfyR5G5JfpBk\n/+nrzyR55oL9z09ywvT5PpmEpJtNX5+f5D4Ljr3J9Fx7JDk4k8ubP7uVtq8/PWbfJLtP33vLTdr+\n4PT5byT5t03e//Ikx27h3O9PctyC14cm+X6S3bdWx/T1HyZ57fT5fkm+m+QmW2jnxCSvX/D6ukl+\nmOSmC/rol6fPn5rkHVvpj05y72389/pGksOmz/8kyXs2+RqvXPD6S0n+NMmFSdaN/l7z8PC4+mEk\nDEgmo02nd/el09evy4IRqOnrh00n7D8syTnd/eXpvpsleUtVXV5Vl2cSOH6Y5IAF779g45Oq2r2q\njptevvxWJiEhmYwgrckkvF2wufdO2zpiY1vT9h6dyajZlix8/5eTXCuTS4dbqyNJXpPkV6ajb4/I\nJPx9bTHtdPe3k1yWychgMhkNe8z0+WOSvHor59m05lTV/6qq86eXTS/PJLDuv+CQixY8/26SPTeZ\nT/bkJP/e3e/fRrvAHAlhsIurqutkEjLuOZ0fdVGSZyY5rKoOS5Lu/nQmAeYBuealyGQSGB7Q3ddf\n8Nizu7+64Jhe8PxRSY7K5JLcvpmMliVJJdmQySXDAxccf9NN2vrAJm1dt7t/dytf4sL3H5TJSNul\n26gj0/o/lEnofGy2HZx+3E5VXTeT0bP/mm56TZKjpv156yT/vI1z/bi/pvO/npXJf6MbdPf1k3xz\nY52L9OQkB1XVi7fjPcCMCWHAQzMZuTo0k3lHh2cSFP4tk/lUG70uyTOS3CPJGxdsf1mSv1gwEX1N\nVR21lfb2SfLfmcy52ivJCzbu6O4fJnlzkj+pqr2q6lab1PD2JIdU1WOr6lrTxx2r6tZbae8xVXVo\nVe2V5M+SnDptZ4t1LHByJgHoF6Z1bc0Dq+puVXXtTOaGfbi7L5h+XRdmMq/r1Une1N1XbuNcC+2T\nSTDdkGSPqvrjJNfbjvcnyRVJjkxyj6o6bjvfC8yIEAY8Psmruvsr3X3Rxkcmk7sfveCy1imZTLB/\n34LLlknykkwmg59eVVdk8gnLI7bS3smZjKp9Ncmnp8cv9NRMRqYuyiS0nJJJWEp3X5HJZPlHZjLK\ndFGSFybZ2rpmr85kztZFSfZM8vRF1pEkb8n0cmt3f3crbSSTkHpsJpch75CrLz9udFImYW5bI2qb\neneSdyX5j2m938smlysXo7svT/LLSR5QVX++ve8Hdr7q7m0fBTBIVb0wyY27+/HbPPgn3/v+JK/p\n7lcsof3PJ/md7n7Pjp5jep57ZHJZ8mbtFy8QI2HAMjNdB+x2NXGnJE/KZERqRC2/lsn8rPct8TzX\nyuRS7isEMGCjmYWwqjqhqi6pqvMWbDu8qj5cVedW1frpL1iAhfbJZP7Vd5L83yR/neSt8y5iOor2\nj0me0t0/WsJ5bp3k8kyW7vjbnVMdsBrM7HLkdOj920lO7u7bTrednuTF3f3Oqnpgkmd197qZFAAA\n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\nDDAkhFXV9avq1Kr6TFWdX1V3GVEHAMAoewxq9yVJ3tXdD6+qayfZa1AdAABDzD2EVdW+Se6R5DeT\npLu/n+T7864DAGCkEZcjb55kQ5JXVdXHquoVVbX3gDoAAIYZEcL2SHL7JP/Y3b+Y5DtJnr3pQVV1\nTFWtr6r1GzZsmHeNAAAzNSKEXZjkwu4+a/r61ExC2TV09/Hdvba7165Zs2auBQIAzNrcQ1h3X5Tk\ngqq65XTTfZJ8et51AACMNOrTkU9L8trpJyO/kOQJg+oAABhiSAjr7nOTrB3RNgDAcmDFfACAAYQw\nAIABhDAAgAGEMACAAYQwAIABhDAAgAGEMACAAYQwAIABhDAAgAGEMACAAYQwAIABhDAAgAGEMACA\nAYQwAIABhDAAgAGEMACAAYQwAIABhDAAgAGEMACAAYQwAIABhDAAgAGEMACAAYQwAIABhDAAgAGE\nMACAAYQwAIABhDAAgAGEMACAAYQwAIABhDAAgAGEMACAAYQwAIABhDAAgAGEMACAAYQwAIABhDAA\ngAGEMACAAYQwAIABhDAAgAGGhbCq2r2qPlZVbx9VAwDAKCNHwp6R5PyB7QMADDMkhFXVgUkelOQV\nI9oHABht1EjY3yZ5VpIfDWofAGCouYewqnpwkku6++xtHHdMVa2vqvUbNmyYU3UAAPMxYiTsrkke\nUlVfSvL6JPeuqtdselB3H9/da7t77Zo1a+ZdIwDATM09hHX3c7r7wO4+OMkjk7yvux8z7zoAAEay\nThgAwAB7jGy8u9+f5P0jawAAGMFIGADAAEIYAMAAQhgAwABCGADAAEIYAMAAQhgAwABCGADAAEIY\nAMAAQhgAwABCGADAAEIYAMAAQhgAwABCGADAAEIYAMAAQhgAwABCGADAAEIYAMAAQhgAwABCGADA\nAEIYAMAAQhgAwABCGADAAEIYAMAAQhgAwABCGADAAEIYAMAAQhgAwABCGADAAEIYAMAAQhgAwABC\nGADAAEIYAMAAQhgAwABCGADAAEIYAMAAQhgAwABCGADAAEIYAMAAQhgAwABCGADAAHMPYVV106r6\n16r6dFV9qqqeMe8aAABG22NAm1cl+f3uPqeq9klydlWd0d2fHlALAMAQcx8J6+6vdfc50+dXJDk/\nyc/Muw4AgJGGzgmrqoOT/GKSs0bWAQAwb8NCWFVdN8mbkvxed39rM/uPqar1VbV+w4YN8y8QAGCG\nhoSwqrpWJgHstd395s0d093Hd/fa7l67Zs2a+RYIADBjIz4dWUlemeT87v6bebcPALAcjBgJu2uS\nxya5d1WdO308cEAdAADDzH2Jiu7+YJKad7sAAMuJFfMBAAYQwgAABhDCAAAGEMIAAAYQwgAABhDC\nAAAGEMIAAAYQwgAABhDCAAAGEMIAAAYQwgAABhDCAAAGEMIAAAYQwgAABhDCAAAGEMIAAAYQwgAA\nBhDCAAAGEMIAAAYQwgAABhDCAAAGEMIAAAYQwgAABhDCAAAGEMIAAAYQwgAABhDCAAAGEMIAAAYQ\nwgAABhDCAAAGEMIAAAYQwgAABhDCAAAGEMIAAAYQwgAABhDCAAAGEMIAAAYQwgAABhDCAAAGGBLC\nqurIqvpsVf1nVT17RA0AACPNPYRV1e5JXprkAUkOTXJ0VR067zoAAEYaMRJ2pyT/2d1f6O7vJ3l9\nkqMG1AEAMMyIEPYzSS5Y8PrC6TYAgF1Gdfd8G6x6eJIju/u3pq8fm+SI7n7qJscdk+SY6ctbJvns\nXAvdPvsnuXR0ESuY/ttx+m5p9N/S6L8dp++WZrn33826e822DtpjHpVs4qtJbrrg9YHTbdfQ3ccn\nOX5eRS1FVa3v7rWj61ip9N+O03dLo/+WRv/tOH23NKul/0ZcjvxokltU1c2r6tpJHpnktAF1AAAM\nM/eRsO6+qqqemuTdSXZPckJ3f2redQAAjDTicmS6+x1J3jGi7RlZEZdNlzH9t+P03dLov6XRfztO\n3y3Nqui/uU/MBwDAbYsAAIYQwgAABhDCAAAGGDIxn11bVR2Qq++S8NXuvnhkPStRVe2XJN192eha\nVhp9t+P87C6N/lua1dh/JubvoNX4zTBrVXV4kpcl2TdXL9B7YJLLk/yP7j5nVG0rQVUdlOQvk9wn\nkz6rJNdL8r4kz+7uL42rbnnTd0vjZ3dp9N/SrOb+E8K202r+Zpi1qjo3ye9091mbbL9zkpd392Fj\nKlsZqupDSf42yand/cPptt2T/HqS3+vuO4+sbznTd0vjZ3dp9N/SrOb+E8K202r+Zpi1qvpcd99i\nC/v+s7t/ft41rSTb6L8t7kPfLZWf3aXRf0uzmvvPnLDtt/emASxJuvvDVbX3iIJWkHdW1b8kOTnJ\nBdNtN03yuCTvGlbVynF2Vf1DkpNyzf57fJKPDatqZdB3S+Nnd2n039Ks2v4zEradqurvkvxcNv/N\n8MXufuqo2laCqnpAkqOyYD5dktOmd1FgK6b3Wn1Srtl/FyZ5W5JXdvd/j6ptudN3S+dnd2n039Ks\n1v4TwnbAav1mAADmxzphO6C739ndT+7uX5k+niyALU1VHTO6hpWsqh48uoaVSt8tjZ/dpdF/S7PS\n+08I24lW+jfDYDW6gBXujqMLWMH03dL42V0a/bc0K7r/TMzfuVb0N8M8VNWtMrmMe1Z3f3vBri8P\nKmlFqao7Jenu/mhVHZrkyCSf6e5jB5e24lTVyd39OH23/arqbknulOS87n756HqWu6o6Isn53f2t\nqrpOkmcnuX2STyd5wdDiVoCqenqSt3T3BZvuW+nff+aE7URV9YTuftXoOpar6Q/SU5Kcn+TwJM/o\n7rdO953T3bcfWd9yV1XHJnlAJn88nZHkiCT/muSXk7y7u/9iYHnLWlWdtummJPfKZLHWdPdD5l7U\nClJVH+nuO02f/3YmP8dvSXK/JG/r7uNG1rfcVdWnkhzW3VdV1fFJvpvk1EwWDz6sux82tMBlrqq+\nmeQ7ST6f5JQkb+zuDWOr2jmEsJ2oqr7S3QeNrmO5qqpPJrlLd3+7qg7O5JfQq7v7JVX1se7+xaEF\nLnPT/js8yU8luSjJgQv+sj6ru283tMBlrKrOyWTU4RVJOpMQdkqSRyZJd39gXHXL38Kfz6r6aJIH\ndveG6bI8H+7uXxhb4fJWVed3962nz6/xB2dVndvdh4+rbvmrqo8luUOS+yb5jSQPSXJ2Jj/Db+7u\nKwaWtyQuR26nqvrElnYlOWCetaxAu228BNndX6qqdUlOraqbxaXcxbhqutr7d6vq8939rSTp7iur\n6keDa1vu1iZ5RpLnJvmD7j63qq4UvhZtt6q6QSbziGvjKER3f6eqrhpb2opw3oIrJR+vqrXdvb6q\nDknyg9HFrQDd3T9KcnqS06vqWplcFTg6yYuSrBlZ3FIIYdvvgCT3T/KNTbZXkn+ffzkrysVVdXh3\nn5sk0xGxByc5IYm/pLft+1W1V3d/N5O/CpMkVbVvEiFsK6a/wF9cVW+c/ntx/P7bHvtmMvJQSbqq\nbtLdX6uq68YfUIvxW0leUlXPS3Jpkg9V1QWZrDX5W0MrWxmu8T3W3T9IclqS06pqrzEl7RwuR26n\nqnplkld19wc3s+913f2oAWWtCFV1YCajORdtZt9du/v/DShrxaiqn9rcoqJVtX+Sm3T3JweUtSJV\n1YOS3LW7/2h0LSvZ9H+AB3T3F0fXshJU1fWS3DyTPwAu7O6LB5e0IlTVId39H6PrmAUhDABgAOuE\nAQAMIISb/49xAAABl0lEQVQBAAwghAGrRlX9sKrOrarzquptVXX9JZzr/VW1dmfWB7CQEAasJld2\n9+Hdfdskl2WyqCjAsiSEAavVhzK5RVaq6rpV9d6qOqeqPllVR023H1xV51fVP1XVp6rq9Onitz9W\nVbtV1YlV9fwBXwOwiglhwKpTVbtnckuYjbcr+l6SX52uVH6vJH9dVRvXHrpFkpd2922SXJ7k1xac\nao8kr03yue5+3lyKB3YZQhiwmlynqs5N8vUk+2Vyj81kstjjC6Z3vHhPJiNkG+9w8cWNCwhnsiDp\nwQvO9/JMblLtvpzATieEAavJldP78N0sybVz9ZywR2dya5M7TPdfnGTP6b6FC+D+MNdcSf/fk9yr\nqvYMwE4mhAGrTnd/M8nTk/x+Ve2RyW13LunuH1TVvTIJaYvxyiTvSPKG6XkAdhohDFiVuvtjST6R\nyU1+X5tkbVWtz2RU7DPbcZ6/SfKxJK+uKr8zgZ3GbYsAAAbwVx0AwABCGADAAEIYAMAAQhgAwABC\nGADAAEIYAMAAQhgAwABCGADAAP8fOjvNywzXYxoAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#find the standard deviation instead of the mean when we group by rank\n", "tmp2 = data.groupby(by='Rank').std()\n", "#add the errors to out plotting call \n", "ax = tmp['log_salary'].plot.bar(yerr=tmp2['log_salary'], figsize=(10,8))\n", "ax.set_title('Average pay by rank')\n", "ax.set_ylabel('log(salery)')\n", "ax.set_xlabel('Rank')\n", "\n", "#set the upper and lower limits of the y axis\n", "ax.set_ylim(ymin=0, ymax=18)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#make a boxplot of salaries, by rank\n", "ax = data.boxplot(column='log_salary', by='Rank', figsize=(10,8))\n", "ax.set_title('Pay by rank')\n", "ax.set_ylabel('log(salary)')\n", "ax.set_xlabel('Rank')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.6. FOR FUN: Now let's make it look like xkcd.com" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nyspIr9fTgAEDaP/+/fT666+TXC6n3/72t6xOaWkp265nMpkoNTWV+vXrR4WFhfSXv/yFlEolZWdn\nt4i8+/btIwD09NNP05QpU2js2LE0cuRIWrFiBXEcR0REly5dooqKCiIiWrlyJRmNRjp48CCVlpbS\npk2bSKfT0fDhw1tE3iVLllD79u3p008/pStXrtDbb79NKpWKJk6cyOpcuHCBqqqqiIjo22+/JZVK\nRQ8//DAdOHCAli9fThKJhGbOnNki8hIR7dy5kwDQ119/HfXzM2fOkMPhICKi6dOnU7du3ej48eN0\n6dIlWrVqFclkMlqwYEHC5Pvmm2/otddeI5lMRmPGjKEDBw4QEdH169dJp9PRwIED6cMPP2Sy5Obm\nsmu//fZbKi8vJyKiiooKMhgM9MADD1BhYSGtWbOGFAoFjRo1qlnlLSkpoZUrVxIAys3NpU8++YSI\nfto6vWDBgghdfuWVV5guX7x4kUwmExERrVixglJTU+nQoUNUWlpKGzdupOTkZBoxYkSzynv69Gl6\n6aWXCADl5eXRkSNHiIjo2WefpQ4dOtBnn31GV65coTfffJNUKhVNnjyZXXv+/Hkym81ERHT58mVS\nKpX0yCOP0EcffUTLli0jsVhMs2fPblZ5jx49SosWLSIANG/ePDp9+jT7bPv27QSAzp49G/XaM2fO\nkNPpJCKiKVOm0F133UUnTpygS5cu0cqVK0kqldLChQtjlu22cSRENYZs8ODBBICUSiUtXryY7HY7\n+zwlJYXS09PZ+8uXL9Pw4cMJACkUCnrmmWfIarW2iKylpaXUv39/GjBgAI0dO5by8vJoypQpNGTI\nEPJ4PEREpNVqqXv37kRE5HK5aPr06SQWiwkAyWQyysvLazF5zWYz5ebmEgDWvnPmzKHq6mpWR6lU\n0p133snenzlzhvr160cASK1W05///OeI+olmxowZ1L9//6ifuVwuEolE9MQTTxBRjfHOyclhf59G\no6FFixaRz+dLmHxvv/029e7dm+69916699576bnnnmOfnT9/ngYNGkQASKVS0dKlS5nTIyLS6/WU\nkZHB3l+8eJGGDh3KdPnZZ58lm83WrPK+8cYbEfK+/PLLRER05coVevDBB+vo8tChQ1n7aTQauuee\ne4iopu2nTp0aoctTpkxpdnmXL18eIe/q1auJiKiqqorGjRsXoctz586N0E2FQkFdunRh70+fPk33\n338/043nn3++2WOOnn766Qh5t27dyj6bOnUqDRw4MOp1drudRCIRc4TXrl2jRx99NEKXFy9eHDXm\npLHclqf/er1eyGSyOouru3btgkqlwqhRoxpV/1azZcsWtG3bFsOGDWNlZWVluH79Ojp37ozU1NQW\nl+natWu4ceMGfvWrXyElJSXis3Xr1uHuu++OWOQDwI53SPTRKLWpqKiAWCxGWlpa1M9XrVqF7Ozs\niFiXq1evwmw2o2vXrkhOTm4pUeulPt3cuXMnNBoNcnJyGlX/VrNp0yZ07NgxIm7qVuvy//73P1RU\nVKBLly51dmWtXbsWvXr1iojNAW6dLt+4cQMSiaReXV65ciVGjx4dEetSWloKi8WCbt26QavVxvX9\nt6UjERAQEBBoPm6bxXYBAQEBgcQgOBIBAQEBgbgQHImAgICAQFwIjkRAQEBAIC4ERyIgICAgEBeC\nIxEQEBAQiAvBkQgICAgIxIXgSAQEBAQE4kJwJAICAgICcfF/CVNk/w7mVUsAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "with plt.xkcd():\n", " data.log_salary.hist(bins=20) " ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoUAAAICCAYAAAC5nLe0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd4VFX6x793eklmUieBBBISWigCUgQpgtLsKIiIriiW\nRWTXtvhzUddeF8WusOKCqLB2UFll7YAgTVCQGlp6nZJkMv39/TE510klkJmEkPfzPPNMcufcc997\n5sy93/ue875HIiICwzAMwzAM06FRtLUBDMMwDMMwTNvDopBhGIZhGIZhUcgwDMMwDMOwKGQYhmEY\nhmHAopBhGIZhGIYBi0KGYRiGYRgGLAoZhumgPPHEE3j00Ufb2owGsdlsePPNN9vajDZj1apVyM3N\nbWszGKbDwaKQYdoh3333HZYsWdLWZrRrPvroI3z88cdtbUaDvPHGG5gzZw78fn9bm9Lq5Ofn45pr\nrsF3333X1qYwTIdD1dYGMAxzcuzfvx8XX3wxFAoFbrrpJiiVyrY2qV0SCASgUJyez8Xl5eUwGAwd\n8ru1Wq0AgOjo6Da2hGE6HqfnFZFhmAbx+/244YYbUF1djaqqKhw6dKitTWq3eL1eqNXqtjajUTqi\nIAQAschWRz1/hmlLWBQyTDti0aJF2Lx5M4YMGQIA+OWXX2p9fvz4cdhstnr75ebm1huKdDqdOHLk\nCBwOR73yHo9HvjkTEfbu3YvDhw/XK0dEKCwsRHFx8SmfExCcQ3f06FFUV1ef1H4HDhzAP//5Twwe\nPBgDBw5E3VU7iQj5+fkoLS2tt29TorC0tBT5+fn16nO73fLfHo8HO3fulM+9qqqqwbqICBUVFSd1\nXkQki6LKykrs2bOn3vfk8Xjg9Xob3L+ysrKe7QKn09noZw3ZWVVVhSNHjjR5DkSEvLw8lJeX1/ss\ntM3sdjt27NjRaFuJuoCgKAwEAjhw4ABycnIaLQ8APp8PDoejwe/f4/HI/5eWlmLHjh2yTSUlJXjm\nmWfg8/kAAFu2bMHatWs75LA9wwAAiGGYdsHx48fJYDBQr169aO/evQSA/va3v9Uqk5aWRlOmTKm1\n7fDhw6RWq+nll18mIiKv10uPPvooRUdHEwACQGPHjqWcnBx5n7PPPpuee+45WrFiBfXp04cAkEKh\noK1bt8plVq9eTUOHDpXrGDRoEG3evFn+3Ofz0dtvv01jxoyhqKgoio2NpT//+c9UVlYmlyktLaVb\nbrmFlEolASC1Wk0zZ84kl8vVZFvs2LGDhgwZIh9boVAQAMrLy5PLvPPOO9SvXz+5zLnnnku//fab\n/Hl6ejqNHTu2Vr3ff/89jRs3Tt6nR48etHbtWiIislqtZDAY6Ntvv6XHHnuMkpKSCADFxcXR1q1b\nSaVS0bvvvlvP1pdffpnUajXl5uY2eU6h3HPPPWQ2m2nevHmk1WoJABmNRpo/fz55PB4iIhozZgyN\nHz+eAoFArX3z8vLIZDLRM888U6/eiooKMplM9PDDD9f77L///S9JkkQbNmwgIiKXy0X3338/GY1G\nAkCSJNGECROosLBQ3icQCNBbb71FvXv3lttszJgxtHfvXiIi+vbbbykmJob2799Pt956K+n1egJA\n559/fqPnvmvXLgJAN998M6Wlpcn1jh8/nvbt21errM1mo/vuu48MBgMBoFGjRtH+/fvlz1esWEFp\naWl04MABmjlzJqlUKgJAf/rTn4iI6N133yUAtGbNGrrmmmvkY02YMKFeuzJMR4BFIcO0E6ZNm0YA\n6Ntvv6VAIEAJCQk0evToWmWuueYaUqlUVFxcLG978MEHCQD9/PPPRER01113EQC68cYbafny5fTg\ngw9STEwMzZo1S94nMTFRFo2XXXYZPfnkkwSAXnzxRSIieuONNwgAZWZm0gsvvECvvPIKAaDp06cT\nEZHf76dp06aRJEk0depUWrZsGT377LNkNptp2LBhcpnRo0eTRqOhBQsW0LJly+i2224jlUpFr776\naqPtUFVVRRkZGSRJEs2dO5c2bNhAq1evJoVCQQcPHiQioscee4wAUL9+/ej111+nJ554ggDQvHnz\n5Hq6du1aS5ysWbOGlEolderUiZ566ilaunQp6fV6GjFiBBEFxTUAio6OJo1GQ7fccgvddtttBIC+\n+eYbSk5OJovFQuXl5XKdDoeD4uPjKS0tjbxeb7O/63vuuYcAkFarpdtvv53eeOMNuuqqqwgA3XHH\nHURE9Ne//pUA0DvvvFNr3zlz5hAA+uqrr+rV6/f7afDgwaTRaGoJLL/fT/379ye9Xk8lJSVERHTL\nLbcQAJozZw4tX76c/v73v1N0dDTdfvvt8n4LFiwgADRw4EBavHgxPfTQQwSA5s+fT0REy5cvl9ss\nMTGR7rvvPpo4cSKp1epGRZcQhQDovPPOo1dffZUefPBBioqKoi5dupDdbiei4EPHmDFjCAANHz6c\nrr76alKpVNSnTx+5btFvo6OjqWvXrvTwww/TsGHDKD09nYiIPvroIwJAnTt3JpVKRQsWLJB/Z0LY\nMkxHgkUhw7QDfvzxRwJA11xzDW3dupUWL15MqampZDAYaomNb775hgDIXkG/309paWl01llnUSAQ\noKKiIlIoFPSXv/yFiIJew8WLF5PJZKKbb75ZrsdsNhMAWrFiBREFPXoA6PXXXyer1Up6vZ6ysrLI\n4XAQUdCLCYAeeeQRIiL68MMPa4lIwVlnnUX9+vUjoqBnKvQYdrud7rvvPlIoFLRkyZJG22Ljxo0E\ngP7617+S3++XtwuxcOzYMVIoFDRixAjZ47ht2zYCQK+99ppcPiUlhSZPniy3Q0pKClksFiooKJC3\nKRQKuummm4iIaN++fQSAoqKiaPv27URE9MUXXxAA2rFjBy1ZsoQA1BJNCxcuJAD00ksvNXo+DTF/\n/nzS6/W0e/dueVsgEKBZs2aRVqslh8NBZWVlZDKZyGKxyN9Dfn4+aTQaGjhwYKOi6/vvv5e9YYI1\na9bUEs1HjhwhALRgwQIiInK73fTiiy+S0WikO++8k4iIDhw4IHuZhfdy/fr1BICWLVtGRERvvvkm\nAaC+ffvKYvPvf/87GY3GRu377bffCAA9/PDDtcqIvr106VIi+kPQ3XHHHXK5uXPnEgDZ2/nII48Q\nABo9ejRVVlYSEdGf/vQn6tmzJxERffDBB7IAFeJaHOezzz470dfEMGccLAoZ5jTn0KFD1LdvX3kI\nT9zExOuXX36Ry/r9furWrZvsjVu3bl0tMfT2228TADp69CgtW7aMevbsSQBo4sSJZLVa5XrMZjNd\ndNFFtez44osvqLq6ml5//XUCQKtXr5Y/E4Jp0aJFREQ0ZcoUSk5OlsUCUVDUmM1meXh73rx51KVL\nF7JarfTkk09SQkICSZJE8+bNI5/P12h7FBcXk8lkIgCUkJBAM2bMoC1btsifCyGwadMmeZsQK6Fe\ntYSEBLr88suJiOjzzz8nAPTKK6/InzudTgJAd999d61zfPTRR+Uybreb1qxZQ4FAgDweD2VmZpJG\no6GcnBzyer3UpUsXio+PlwVJc1mwYAFZLJZ62zds2CAPd4ae69NPP01ERA888AABoPfee6/J+idM\nmFBLPI0dO5aUSiUdPnyYiIhee+01UiqVVFBQQEuWLKFu3brJXuOKigoiIrrvvvsIAO3cuVOuV/S3\njz/+mIj+EIXffvutXCY/P582btzYqG379+8nAPTll1/W+ywjI4OmTZtGREQ33HADKZXKWl7xgwcP\nEgBavHhxrfYJHVLOzs6WfzNLly6Vha0QluKh40RtyDBnIhxowjCnOW+//Tb27NkDg8GAUaNG4e67\n78Z7772HxYsXAwhOjhcoFArMnj0bW7Zswf79+7FkyRKYTCZcd911AIDdu3fDYDBgzJgxuOGGG9Cl\nSxd8++23+PLLLxETE1PruF27dq31/0UXXQSdToe9e/cCAIYPHy5/JtKHqFTBLFc7duxA3759awVy\nFBQUwG63o2fPnrItfr8faWlpePDBB3HhhRdiz549ePnll5uMPE1MTMT27dtx//33o3fv3nj//fcx\nfPhwfPHFFwCAffv2QalUYvDgwfXsC7XH6XRCp9PJ+9Q9J51OB6VSKZ9TQ+2i0Whw6aWXQpIkqNVq\nPPLII/B4PHj22WexevVq5OTkYN68eTAajY2eT0NoNBpIklRvu/iORNDHnXfeifj4eDz33HMoLy/H\n4sWLkZ6ejquuuqrJ+h9//HEAwGOPPYZff/0V33//PaZPn45u3boBCH43RqMRgwcPxq233orevXtj\n/fr1WL16NaKiogAAe/fuhV6vR//+/eV66/aDhtqsU6dOOPfcc5s898aIjY2VA27279+P1NRUJCYm\nyp/Hx8cDQL1gq9DjZ2RkYODAgQD+SH9z6623yu0tgp0aan+GOdNhUcgwpzk//PADlEol9u/fjx9/\n/BHPPfccrrnmGlx55ZUAgJ9++qlW+VmzZkGSJDz11FP45JNPcNNNN9W6WTudTgwePBhbtmzB119/\njXHjxkGSJPj9/lrRm9RIhKperweAWlGdiYmJkCQJTqcTQDByVER0Cj755BMAQHJysmxLaWkprrvu\nOhw6dAhvv/02srKyAOCE0Z/du3fH448/jvXr12PXrl2Ii4vD/fffL9vn9/tr1SGOKewjolqiUJxT\naKSsJElITk6W9zlRuwDAjBkz0LdvX/zrX//C448/Dr1ej3nz5jV5Lg2h0WgQCATqbRfftRBiJpMJ\n9913H0pKSnDJJZegpKQE99xzTz1RVpdhw4bh8ssvx1dffYU5c+YAAObPny9/rlKp4HA4MGrUKOzY\nsQNr167FqFGjAEDuJwaDAV6vt1Z71G1nQVNt1tC5A6h3/uXl5di7d6987jExMfUijkWEfPfu3Zt1\n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\nAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "with plt.xkcd():\n", " tmp = last.groupby(by='birthYear').mean()\n", " ax = tmp.plot.line(y='log_salary', figsize=(10,8))\n", " ax.set_title('Average salary, by year born')\n", " ax.set_ylabel('log(salary)')\n", " ax.set_xlabel('Year born')\n", " ax.set_xticks(range(1972, 1993, 2))\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### In fact, we can use many styles!" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['seaborn-white',\n", " 'seaborn-whitegrid',\n", " 'seaborn',\n", " 'seaborn-dark',\n", " 'seaborn-poster',\n", " 'fivethirtyeight',\n", " 'seaborn-colorblind',\n", " 'seaborn-deep',\n", " 'classic',\n", " 'seaborn-bright',\n", " 'seaborn-muted',\n", " 'seaborn-ticks',\n", " 'seaborn-dark-palette',\n", " 'seaborn-darkgrid',\n", " 'dark_background',\n", " 'bmh',\n", " 'seaborn-paper',\n", " 'grayscale',\n", " 'seaborn-pastel',\n", " 'ggplot',\n", " 'seaborn-notebook',\n", " 'seaborn-talk']" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plt.style.available" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nRERERMSH/wG71wi8NaKAAgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.style.use('fivethirtyeight')\n", "ax = tmp.plot.line(y='log_salary', figsize=(10,8))\n", "ax.set_title('Average salary, by year born')\n", "ax.set_ylabel('log(salary)')\n", "ax.set_xlabel('Year born')\n", "ax.set_xticks(range(1972, 1993, 2))\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nV1wtXXG1rOtK1hbpermhjIILAABQyhnH8TqCX4XXNgAAACj1KLgAAAAIKxRcAAAAhBUKLgAAAMIK\nBRcAAABhhYILAACAsELBBQAAQFih4AIAACCsUHABAAAQVii4AAAACCsUXAAAAIQVCi4AAADCCgUX\nAAAAYYWCCwAAgLBCwQUAAEBYoeACAAAgrFBwAQAAEFaMtdZ6HQIAAADwF97BBQAAQFih4AIAACCs\nUHABAAAQViK9DnAqEydO1IoVKxQbG6vRo0dLkrZv366XX35ZGRkZqlq1qgYPHqzo6Gh99dVX+uCD\nD/Ke+/PPP2vUqFE699xz9cILL2jv3r1yHEctWrRQz549vVqp0Pyxe506dfJmo0aNUnJyct7XCmX+\n2j07O1vTpk3Thg0bZIxRjx491Lp1a6/WOiN/7f31119rzpw5MsaoSpUqeuCBB1SpUiWv1iqUouye\nnZ2tSZMmadu2bXJdV23bttUtt9wiSVq1apWmT58u13V19dVXq3Pnzl6uVSj+2H3//v1KSkrSwYMH\nZYzRNddco44dO3q82en563suSa7ratiwYYqLi9OwYcO8WqnQ/LX70aNHNWnSJP3yyy8yxmjAgAFq\n0KCBl6udkb92//DDD/X555/LGKNatWpp4MCBioqK8nK10yrq3lOmTNHWrVvlOI569+6tiy66SJL0\n008/KSkpScePH1fz5s11zz33yBjj5Wpn5I/dMzMzi9flbIhav3693bp1q33ooYfyZsOGDbPr16+3\n1lr72Wef2TfeeKPA8/773//a+++/31prbUZGhl27dq211tqsrCw7YsQIu2LFiiCkPzv+2P1XS5Ys\nsWPGjPH5WqHMX7u/+eabeY/Lycmxhw4dCnDys+OPvbOzs+2f/vSnvF1nzpxp33zzzSCkPztF2f2r\nr76yL774orU299/vgQMH2r1799qcnBx7//332z179tisrCz7yCOP2F9++SX4yxSRP3ZPTU21W7du\ntdZam56ebgcPHhzyu/tj71/NmzfPjhkzxj777LNB3KD4/LX7+PHj7YIFC6y1uX++HTlyJJhrFIs/\ndk9JSbEDBw60mZmZ1lprR48ebRcuXBjcRYqoKHt//PHHNikpyVpr7cGDB+1jjz1mc3Jy8p7zww8/\nWNd17dNPPx12feZUuxe3y4XsKQqNGjVSTEyMz2zXrl268MILJUlNmjTRd999V+B5X3/9tdq0aSNJ\nKlu2rBo3bixJioyMVN26dZWSkhLg5GfPH7tLUkZGhj788EPddtttgQ3sR/7afeHChXnv4DmOE/Lv\nYvpjb2utrLXKzMyUtVbp6emKi4sLfPizVNTdMzIylJOTo+PHjysyMlLR0dHasmWLEhMTVa1aNUVG\nRqpNmzZatmxZUPcoDn/sXqVKFf3ud7+TJJUvX141atRQampq8JYoBn/sLUkpKSlasWKFrr766uCF\nP0v+2D09PV0bN27UVVddJSn3z7cKFSoEb4li8tf33XVdHT9+PO9YlSpVgrdEMRRl7x07duT1ltjY\nWFWoUEE//fSTDhw4oGPHjqlBgwYyxqht27Zh9zPuVLsXt8uFbME9mVq1auV9Q5csWXLSBb/99ltd\nccUVBeZHjx7V999/r4svvjjgOQOhOLvPnj1bN954Y0j/1U1hFHX3o0ePSpLefPNNDR06VC+88IIO\nHjwYvMB+UtS9IyMjde+99+qRRx5Rv379tHPnzrw/AEuaU+3eunVrlStXTvfdd58GDhyoG2+8UTEx\nMUpNTVV8fHze8+Pj40O+5J1KUXc/UXJysrZt26b69esHPffZKs7er7zyiu68886Q/2vaMynq7snJ\nyapUqZImTpyoxx57TJMmTVJGRoaXKxRbUXePi4vTjTfeqAEDBui+++5TdHS0mjZt6uUKxXKqvevU\nqaPly5crJydHycnJ+umnn7R///5S8TPuVLufqChdrkQV3AEDBmj+/PkaOnSojh07pshI31OIf/zx\nR0VFRal27do+85ycHI0dO1bXX3+9qlWrFszIflPU3bdv3669e/eqVatWXsT1q6LunpOTo5SUFDVs\n2FCjRo1SgwYNNHPmTC+in5Wi7p2dna358+dr1KhRmjx5smrXrq05c+Z4Ef2snWr3LVu2yHEcTZ48\nWRMmTNC8efO0d+9ej9P6V3F3z8jI0OjRo9W7d++8d7pKkqLu/f333ys2Njbv3euSrKi75+TkaNu2\nbbr22mv1z3/+U2XLltXcuXM93qJ4irr7kSNHtGzZMiUlJWny5MnKyMjQokWLPN6i6E61d/v27fPO\nJ3/llVfUsGFDOU6JqmpnVNzdi9rlQvZDZidTo0YNDR8+XFLuW9wrVqzwOf7NN9+c9N3byZMnKzEx\nUTfccENQcgZCUXffvHmzfvrpJw0aNEg5OTk6dOiQnnrqKT311FPBjO0XRd29YsWKKlu2bF65b926\ntT7//PPgBfaTou69fft2SVJiYqIk6fLLL9f7778fnLB+dqrdv/76azVr1kyRkZGKjY1Vw4YNtXXr\nViUkJPi8w52SklIiTs84maLuXq1aNWVnZ2v06NG68sorddlll3kZv9iKuvf27du1fPlyrVy5UseP\nH9exY8c0btw4DR482Ms1iqWouzdq1Ejx8fE6//zzJeX+jCupBbeouxtjdM455+SddnbZZZdp8+bN\natu2rWc7FMep9o6IiFDv3r3zHjd8+HBVr15dFSpUCPufcafa/VdF7XIl6j8LDh06JCn3/Jv33ntP\nf/zjH/OOua570tMTZs+erfT0dJ9/aCVRUXe/9tprNXnyZCUlJWnkyJGqXr16iSy3UtF3N8aoRYsW\n2rBhgyRp3bp1qlmzZnBD+0FR946Li9OOHTt0+PBhSdKaNWtUo0aN4Ib2k1PtnpCQoHXr1knKfcfy\nxx9/VI0aNVSvXj3t3r1bycnJys7O1uLFi9WyZUvP8p+Nou5urdWkSZNUo0YNderUybPcZ6uoe99x\nxx2aNGmSkpKSNGTIEDVu3LhEllup6LtXrlxZ8fHx2rVrlyRp7dq1JfJnnFT03RMSEvTjjz/mfdZg\n7dq1JfLn3Kn2zszMzDvdZM2aNYqIiFDNmjVVpUoVlS9fXps3b5a1VosWLQq7n3Gn2l0qXpcL2Vv1\njhkzRhs2bFBaWppiY2PVrVs3ZWRk6D//+Y8kqVWrVrrjjjvyzr1av369Zs2apaeffjrva6SkpGjA\ngAGqUaNG3lvgHTp0CPkPJPhj9xMlJydr1KhRJeIyYf7afd++fZowYYKOHj2qSpUqaeDAgUpISAj6\nPoXlr73nz5+vjz/+WBEREUpISNCgQYNUsWLFoO9TFEXZPSMjQxMnTtSOHTtkrVX79u110003SZJW\nrFihGTNmyHVdtW/fXrfeequXaxWKP3bftGmTnnzySdWuXTvv/x+33367LrnkEi9XOy1/fc9/tX79\nes2bN69EXCbMX7tv375dkyZNUnZ2ts455xwNHDiwwDnZocZfu7/11ltavHixIiIiVKdOHfXv319l\nypTxcrXTKsreycnJevrpp+U4juLi4tS/f39VrVpVkrR161ZNnDhRx48fV7NmzdSnT5+QP//cH7sX\nt8uFbMEFAAAAiqNEnaIAAAAAnAkFFwAAAGGFggsAAICwQsEFAABAWKHgAgAAIKxQcAGghBkxYoS+\n+OILr2MAQMii4AJAEY0bN04TJ070mW3YsEF9+vTRgQMHPEoFAPgVBRcAiuiee+7RypUrtWbNGknS\n8ePHNXnyZN19992qUqWKX1/LdV2/fr0T5eTkBOxrA4CXIr0OAAAlTcWKFdWnTx9NnjxZo0eP1nvv\nvadq1aqpXbt2knJL6dy5c7Vw4UKlp6fr4osvVt++fRUTEyPXdfXiiy9q06ZNysrKUp06ddS3b9+8\nW1KOGzdO0dHR2rt3rzZt2qRhw4bpoosuKpBh9+7dGjZsmHbv3q3GjRtrwIABeXeyWrp0qWbPnq3U\n1FTVrVtX9957b9493fv376+OHTvqyy+/1O7duzVr1iz1799fnTp10sKFC7V//341b95cgwYNCum7\nQwHA6fAOLgAUw+WXX666detq7NixWrBgge677768Y//+97+1cuVK/e1vf9NLL72kcuXKafr06XnH\nW7RooXHjxmnKlCmqVauWJkyY4PO1v/nmG3Xt2lUzZsxQgwYNTvr6ixYt0v3336/JkyfLWqsZM2ZI\nknbs2KHx48erT58+mjp1qi6++GKNGjVK2dnZPl//iSee0CuvvJI3+/bbbzVixAhNmDBB27Zt06JF\ni/zxjwkAPEHBBYBi6tu3r9atW6cuXbooISEhb/7pp5/q9ttvV1xcnKKiotSlSxctWbJEruvKcRy1\na9dO5cuXV1RUlLp27aqffvpJGRkZec+/9NJL1aBBAzmOc8p3Uf/whz+oZs2aKleunLp3767FixfL\nWqvFixerZcuWaty4sSIjI9W5c2elp6dry5Ytec/t2LGj4uPjFRUV5TOrXLmyKlasqEsuuUTbt2/3\n/z8wAAgSTlEAgGKqXLmyKlWqlHd6wa/279+vUaNGyRjjMz98+LAqVaqkWbNmacmSJUpLS8t7TFpa\nmsqVKydJPmX5VOLj4/N+XbVqVWVlZenIkSNKTU1V1apV8445jqP4+Hilpqae9Lkn7vKrsmXL6siR\nI2fMAAChioILAH4WHx+vwYMH6/zzzy9wbOHChVq5cqWefPJJVa1aVWlpaerbt6+stUV6jZSUlLxf\n79+/X2XKlFFMTIzi4uK0e/fuvGOu6yolJUVxcXF5s98WbwAIN5yiAAB+9sc//lFvvPGG9u/fL0k6\ndOiQli9fLkk6duyYIiMjVbFiRWVmZmr27NnFeo0vv/xSO3fuVEZGht566y1dfvnlMsbo8ssv1/Ll\ny7V+/XplZ2frgw8+UPny5VW/fn2/7QcAoY53cAHAzzp16iRJGjlypA4ePKjY2FhdccUVatmypdq3\nb681a9aoX79+qlixorp27aoFCxYU+TXatm2r8ePHa/fu3brooovUu3dvSVKtWrU0aNAgTZ06VQcO\nHFDdunX12GOPKTKSH/cASg9ji/r3YgAAAEAI4xQFAAAAhBUKLgAAAMIKBRcAAABhhYILAACAsELB\nBQAAQFih4AIAACCsUHABAAAQVii4AAAACCsUXAAAAISV/wfLaedhhsaD/gAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.style.use('ggplot')\n", "ax = tmp.plot.line(y='log_salary', figsize=(10,8))\n", "ax.set_title('Average salary, by year born')\n", "ax.set_ylabel('log(salary)')\n", "ax.set_xlabel('Year born')\n", "ax.set_xticks(range(1972, 1993, 2))\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArkAAAJFCAYAAADZDu/WAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAMTQAADE0B0s6tTgAAIABJREFUeJzs3XlYlFX/x/E3ICAK7guaSy5lllpJuWRgpWmWS5bmVmaZ\nS+aSPk9lqGWalFlaJtqi5lJptqg/NfcltdzLMks0c0/MJQVBAYHfH+eBGAVlYGbuGebzui4uY+ae\n+/7OSPKZM99zjs/atWvTEREREREpQHytLkBERERExNEUckVERESkwFHIFREREZECRyFXRERERAoc\nhVwRERERKXAUckVERESkwFHIFREREZECRyFXRHj77be59957iY6OtrqUAic2NpZ7772XZcuWWV1K\njnbu3Mm9997Ljh07rC7FUnodRAoWhVwRL5eUlMS6desAWL16NampqdYWJCIi4gAKuSJebuPGjSQk\nJNCwYUP++ecftm7d6vIaLl26RHq6Nl/MjeTkZKtL8GhW/6zp70/EdQpZXYCIWGv58uWEhIQwdOhQ\nOnfuzPLly2ncuHHm/evWreO1115j6tSp1KhRw+axQ4cO5eTJk0ybNg2A1NRU5s6dy/Lly4mNjaVY\nsWLcd999PPPMMwQEBADm4/suXbowaNAgYmNjWbVqFWfOnGHhwoWkpqYybdo0du7cycmTJylWrBh1\n69alb9++lC1b1ubaq1evZubMmcTGxlKpUiV69uzJl19+CcC7776bedzZs2eZPn06mzZt4ty5c4SG\nhtKxY0fatGlz1dflwoULfPzxx3z//ff8888/FC1alOrVqzNo0CCqVKkCwPz581m1ahVHjhwhLS2N\nKlWq8MQTT9i8ftnZs2cPc+bM4bfffiMuLo7y5csTHh5O9+7dCQwMzDzu+eefJzU1lS5duvDJJ59w\n6NAhevXqxdKlS7nuuusYPXq0zXl37tzJ4MGDGTt2LA0aNLhqDdk5f/48b775Jt9//z1paWk0btyY\nAQMGULx4cQCefvrpPF03JiaGvn37Mnr0aO6++26b+95880127NjB3Llz8fPzA2DRokUsWLCAI0eO\nEBQURJMmTejbty/FihXLfFxuXvur/ayFhITk+XUASEhIYOrUqWzYsIG4uDhCQ0Np06YNHTp0wMfH\nx+Z1ee2119i6dSsbN27k0qVLLF68mBkzZjBz5kxmz57NpEmT+PnnnylevDitWrXiiSeewNdXY1Ai\n+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\nsaxfv56PPvqIQoUK0adPH7Zu3UpCQgKvvvqqzaS4ixcv5nhOMLPrv//+e3r06EGHDh0yb//zzz+z\nPT6nEchq1apRr149Fi1aREBAAMeOHWPIkCFXvfa1/PPPPzbfp6SkcP78eZv+2/xct23btnz55Zds\n3LiRjRs3EhoaatPHmxH4xo0bl+3EsIz77X3t7W3fuNbrEBISQnx8PCkpKTZB98yZMzZ15vX6IuIY\nCrkiXiglJYXVq1dTu3ZtevfufcX90dHRrFy5kqeffjrzF/T999/P7Nmz2bBhA6tXryY8PJzChQtn\nPqZBgwbMmTOH8+fPExYWlqe6kpKSKFq0qM1tS5cutfnez8+PWrVqsX79eps+0JiYGI4fP24Tchs0\naMD8+fMpV65cvkY4Q0NDeeyxx1i1ahUHDhwA/g1UWXt6jxw5wq+//nrFShBZJScnk5aWRqFCtv/8\n5mWziHbt2jFmzBji4+OpXLky9evXt/scWa1bt44HH3zQ5vu0tDRuvvlmh1z3uuuu44477uCLL77g\njz/+oHv37jarCISFheHr68uJEye44447cjxPXl/73LrW63DrrbfyxRdfsG7dOu6///7M41atWoW/\nv39m+4+IWEshV8QLbd68mbi4OJ599lluu+22K+5v06YNEyZMYOfOndx+++2AGfWsXbs2H330EadO\nncqcrJbhtttu47777mPkyJF07NiRm266CV9fX2JjY9myZQu9e/e+6sgp/BuUP/30U2rXrs2PP/7I\n+vXrrziuR48evPDCC4wYMYLWrVtz7tw5Zs6cSalSpWxCU4cOHVi7di2DBg2iQ4cOVK5cmYsXL3L4\n8GF++eUXxowZk2Mtzz33HHfddRfVq1cnKCiIn3/+mf3792c+77CwMPz8/HjjjTd47LHHOH36NDNm\nzKB8+fKZ/arZCQ4O5uabb2bevHmUKlWK4sWLs3TpUpuWgNyKiIhg0qRJ/PrrrzYf+2fIWELrySef\npEePHtc838GDBxk7diz33nsvR48eZdq0adx2221XvGm51nWvpl27dgwfPpxChQrZBEkwIbhz585M\nnDiRI0eOcOuttxIQEMDJkyfZvn07Dz30ELfffnueX/vcutbr0LBhQ+rWrcuECRM4d+4c119/PVu2\nbGHJkiV07drVZtKZiFhHIVfECy1fvpwiRYpcMcEmw3333cfkyZNZvnx5ZsgFM5o7ceJEypQpY3N7\nhmHDhvHNN9+wdOlSPv30UwICAihfvjx33nlnrkZSu3fvzvnz5/nqq69ITk7m1ltv5a233qJr1642\nx91xxx0MGzaMWbNm8corr1CxYkWeffZZZs2aZTMSHBwczKRJk5g1axZz5szh1KlTBAcHU7lyZSIi\nIq5aS7169Vi3bh1z5swhNTWVChUq0K9fPx599FHAfGw/bNgwPvnkE4YNG0bFihXp3bs3W7duZefO\nnVc994gRI5gwYQLvvfcegYGB3HPPPfTv39+mxzk3ChUqRJMmTVixYkXmihZZXbhwAci5r/dy/fv3\n54cffmDUqFGZ68MOHDjQ7uteTaNGjQgMDKRRo0bZ1tWrVy+qVq3KggULWLhwIQDlypWjfv36mStk\n5Oe1z41rvQ6+vr688cYbTJ06lTlz5mSuk9uvXz+bFhQRsZbP2rVrtc2QiHi8kydP0q1bNx5//PHM\n5a0KutTUVLp160a9evWyDciLFi1i2rRpzJ0716a1xNnXvZrt27fzwgsv8Pbbb+e5rUVEJDc0kisi\nHicpKYnJkydTv359ihcvzvHjxzODXNZ1bQuqhIQEDhw4wOrVqzl58iSPPfZYtsf9/PPPdOjQwWEB\nN7fXzc6xY8c4fvw40dHR3HDDDQq4IuJ0Lg+5a9asYcGCBezfv5/ExERWrVplM3kgOTmZmTNnsnr1\nas6dO0fx4sV56qmnrvqR2Hfffce0adM4ceIEoaGh9OzZ85ofRYqI5/L19eXMmTNMnDiRuLg4Chcu\nTL169Rg5cqTdy0V5on379jF48GBKlixJ//79r1hHN8Pw4cMtuW52Zs+enblr3ssvv+zQukREsuPy\ndoWtW7cSHx9PUlIS48aNuyLkDhs2jKSkJAYPHkzFihU5e/Ys8fHxmXvFX+63337j+eefZ9iwYTRp\n0oTvv/+eqKgoJk6cSK1atVz1tERERETEjbh8JDdju8XsJgfs2LGD7du3M3fu3MxJKiVLlrzqhJVF\nixbRsGHDzG0ymzZtyqpVq1i4cCEvvvjiFcenpaVx+vRpgoKCtHahiIiIiBtKT0/nwoULlC5d2mbV\nHHu4VU/ujh07qFChAvPnz2fJkiX4+fkRFhZG3759c1yS5Y8//rhihnjGGprZOX36tF19ZCIiIiJi\njXnz5uV5/Wu3Crnnzp3j0KFDxMfH8+mnn3LhwgWioqKIiopi7Nix2T4mMTGR4OBgm9tCQkJISEjI\n9vigoCDALBx++a40BV1kZCRRUVFWl+Fyet7eRc/bu+h5exc9b+8RFxdH5cqVM3NbXrhVyC1SpAg+\nPj706dOHwoULExQUxFNPPcWAAQO4ePFitjOEixQpwvnz521ui4+Pv2LXpAwZLQrFihXzupAbEBDg\ndc8Z9Ly9jZ63d9Hz9i563t4nP62leWtycJIbb7wx29t9fHxIT89+flzNmjWJiYmxuW3v3r12zfoV\nERERkYLF5SE3NTWV5ORkUlJSALNkWMZe7nfffTdlypRh6tSpJCcnc+7cOWbMmEHDhg1zHK5u06YN\nmzdvZsOGDVy6dIkNGzawZcsW2rZt68qn5RHs3ZmooNDz9i563t5Fz9u76HmLPVy+hNiyZcuy7a+d\nMGECt912G4cPH2bixIns3r2bokWL0rBhQ/r06ZM5TD9+/HhOnDhhc45169Yxffp0YmNjM9fJzVht\n4XIJCQmZe91769C/iIiIiDuLi4ujePHiLF68OMcW1Gvxum19FXJFRERE3JsjQq5bTTwTERERz3bx\n4kWSk5OtLkM8QEBAgMO2Hc+OQq6IiIg4xMWLF6lWrRqxsbFWlyIeIDQ0lAMHDjgt6CrkioiIiEMk\nJycTGxvrlWvRi30y1sFNTk5WyBURERHP4I1r0Yv7cat1ckVEREREHEEhV0REREQKHIVcERERESlw\nFHJFREREpMBRyBURERHJwciRI/Hx8bG6jHy75557uOeee6wuw6UUckVERESkwFHIFREREZFcS0pK\nsrqEXFHIFREREcmluLg4+vfvT8WKFQkMDKRWrVpMmDCB9PR0m+N+/PFHwsPDCQoKonLlykRFRfHq\nq6/a3frw+eefc/vttxMcHEyxYsWoW7cuH374Yeb927Zto0OHDlSqVImgoCBq1apFZGQkFy5cuOp5\nL168yODBg6lTpw7BwcGEhobSpk0b9uzZY3PcjBkz8PHxYf369XTs2JESJUrQsGFD3nnnHQIDAzl5\n8qTN8enp6VSvXp3OnTvb9TydQZtBiIiIiORCWloaDz30ED/++COjRo2ibt26LFmyhCFDhnDy5Emi\noqIAOHXqFM2aNaNixYrMnDmTgIAAJkyYwMGDB+263saNG3n88ccZOHAg48aNIy0tjT179nD27NnM\nYw4fPsxtt91Gjx49CAkJYffu3YwaNYo///yTuXPn5njupKQk4uPjGT58OBUqVODMmTNMnjyZxo0b\n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\nEREREXE4KrkiIiIi4nBUckVERETE4ajkioiIiIjDUckVEREREYejkisiIiIiDkclV0REREQcjkqu\niIiIiDgclVwRERERcTgquSIiIiLicFRyRURERMThqOSKiIiIiMNRyRURERERh6OSKyIiIiIORyVX\nRERERByOSq6IiIiIOByVXBERERFxOCq5IiIiIuJwVHJLkfXr15sdwRQad+micZcuGnfponFLQRR7\nyf3mm28YOnQonTp1ok2bNlit1uznTp06xUsvvURwcDCdOnWid+/evP/++2RmZuZ6ze+++45nnnmG\noKAgnn32WTZv3lzUw7BLpfV/Eo27dNG4SxeNu3TRuKUgXIr7A728vAgODiY1NZUpU6bkeK58+fKE\nhoZSrVo1nJ2dOXXqFGFhYXh5edGtW7frXu+XX35h4sSJRERE0LJlS7Zu3crEiROpXLkydevWLY4h\niYiIiEgJU+wlt3nz5gDs2bPnmuc8PDzw9/fP/tpisWCxWDh+/PgNr/f5558TGBhI69atAWjdujUb\nN25k1apVhIaGXvP6rKwsABISEgo1DnuUlpamcZciGnfponGXLhp36VIax31lvFd6282wbNq06ebf\nXQh79uxh2LBhbNy4EWdn5xzPDR06lMOHD5OWloafnx9TpkyhZs2a173OgAEDePDBB+ndu3f2Y4sX\nL2bz5s3ExMRc8/pz587xxBNP2HYwIiIiImJzS5cuxc/P76beW+wzufkxc+ZMrFYrhw4dYtu2bZQv\nX/6Gr01OTsbLyyvHY+XKlSMpKem6r/f19WXp0qW4u7tjsVhsmltERERECi8rK4uUlBR8fX1v+hol\nsuQCODs7U79+ffbv38/UqVMZN27cdV/n4eHBpUuXcjyWmJiIp6fndV/v5OR00z8RiIiIiEjx+Pck\nZkGV+C3ErFZrrmtyAwICOHz4cI7Hjhw5QkBAQFFHExEREZESqthLrtVqJS0tjfT0dMBYTJ2WlkZm\nZiY7d+7kwIEDpKWlYbVa2b17N8uXLycwMPCG1+vSpQvbt29ny5YtZGRksGXLFn788Ue6du1aXEMS\nERERkRKm2G88+/LLL4mKirrm8enTp5OQkMB7773HqVOncHZ2plKlSrRr145evXpl35w2bdo0zpw5\nk+Ma3377LQsWLOD06dNUqVKF/v37Z++2ICIiIiKlj2m7KxSl5557jjNnzmR/nZWVRWpqKuPGjcPX\n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\nX5lEpGTat29fjhnfvn37AjBq1Cjat28PQIcOHRg+fDgPP/wwAD/88AMrVqwgOTkZX19fOnXqRM+e\nPbOvUa9ePaZMmcLChQuZMWMGGRkZVKlSha5duwLGD//Lli1j8uTJWK1WfHx8aNasWfZn24JKrohI\nEStXrhyurq5ERUVRv379675m8uTJVKhQgdmzZ1OxYkUyMzNzrGW7wskpf7+AO336NP7+/tl/BvDz\n88teenDy5Mnsgp2ens65c+eoXLly9vu1E4SI49m0adN1H2/cuPENn7vi3zeMPf300zz99NO5vufO\nO+9kypQp133O39+fd999N9f3F5aWK4iIFLGyZcvSuXNn5syZw7Fjx8jKyuLy5cvs2bOHEydOAJCU\nlIS7uzve3t6kpKQQExNDamrqTX/mvHnzSExMJDExkblz53LPPfdQqVIlbrnlFpo1a0Z0dDQXLlzg\n8uXLzJ07F3d3d5o3b26rIYuImE4zuSIixWDw4MF89tlnvPbaa5w7d44yZcpQp04dBg0aBMDQoUOZ\nMWMGXbp0wcfHh549e1KxYsWb/rzWrVsTEhJCYmIiTZo0yXHzR0REBHPmzGHAgAGkp6dn/1pRN4+J\niCOxbNq0Kf/nr4mIiIiI2AEtVxARERERh6OSKyIiIiIORyVXRERERByOSq6IiIiIOByVXBERERFx\nOCq5IiIiIuJwVHJFRERExOGo5IqIiIiIw1HJFRERERGH8/8As20Smypel0YAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.style.use('classic')\n", "ax = tmp.plot.line(y='log_salary', figsize=(10,8))\n", "ax.set_title('Average salary, by year born')\n", "ax.set_ylabel('log(salary)')\n", "ax.set_xlabel('Year born')\n", "ax.set_xticks(range(1972, 1993, 2))\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n4s033wQAGAyGBvfQarVQKBTQaDQwmUzYuHEjjhw5AqPR2ORr2a1bNyQkJOCFF17Atddea901bIl1\n69YhNTUVFRUVWLVqFSZPngw/Pz8ANaUXJ0+exObNmxstGaijUCgwa9YsvPrqq+jWrRuio6MBABMn\nTkR6ejo2btxo3Rm//fbb8d///vey1yQjIwP/+te/YDabL9t9bc7bb7+N3NxcFBcXY/Xq1Zg/fz6A\nmu/b2rVrcezYMevrePz4ccyYMaPF9yYix8XklYhs7rPPPrPWutYXHByMcePG4aOPPoIkSZg7dy4q\nKiowefJk6zUzZ87E3XffjYceegiDBw/G6tWr8fLLL6Nfv36NPtfy5cuxZ88eDBkyBPPnz0ffvn0R\nGhqKlJQUeHp64s0338T69esxbNgwvPvuu9adRAC46667MHHiRNx6660YOnQoNm3ahHfeece6C1zf\no48+isDAQEybNg1Dhw7F4cOHrYny888/j08//RSJiYm48847MXXqVGg0GqSkpDS4x7x58zBgwABM\nnjwZY8eOxU8//YSkpCRr7W9T5syZg1OnTiEpKcn6ObPZjMTExGa75idPnoz7778fEydOhEajwfPP\nP2/9mre3N8aNG4fCwsIr7uY29vy+vr744IMPsGXLFlx11VXWqQZLliyxviZr1qxBYmIi7r77bsyY\nMQNqtfqKa61v3LhxWLBgAa699lrEx8db7z1nzhzce++9ePzxxzFs2DB89tlnePfdd60lC0TUtUmC\nRT9E1EUVFxcjMzOzQf3qQw89hB49elgTIUewe/durFq1Ct98802Dz69btw7BwcENmtBaY9WqVTCZ\nTFi+fHmz15WXl2PMmDHYsWNHg9pRIiI5cOeViLoso9GIm2++2ToD9I8//sDu3btbVTcqp/Lycpw+\nfRrvvPPOZbWxFosFJ06cwOjRo1t937y8PBw4cACbN2/GjTfe2OR1FosFKSkpWL16NSZNmsTElYjs\nQqftvOp0OixcuBBvvfUWIiMjcejQIbz44ouoqKhAnz598NJLL0Gj0TR4TF5eHh5//HEUFhYiKCgI\nq1evRkBAQGeES0RdxLfffovXX38deXl5CA4Oxj333GOtnbR3J0+exE033YSRI0fijTfesJY7tNeH\nH36If/7zn7jvvvtw3333NXmdEAKjRo1CQEAA3nvvvcsmNxARyaFTktdDhw5h5cqVSEtLw/fffw9f\n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\ndetic7/yyiuSpPXr1+v555/X2rVrjYpoFxeb+5577tGsWbOUn5+v8PBwvfrqqwoKCjIwad262NzT\npk3Ts88+q7KyMjVu3FivvPLKb2724eyWLl2q+fPnS5IGDRqkJ598UsnJyZo5c6YKCgoUExOjl156\nSX5+fgYnrVvVzb1lyxaXPq5J1c/9M1c9rknVz52enu7SxzWp+rn379/v8se1+fPnKz4+Xl5eXoqL\ni9M999zjFse16uau9XHN5iLS09NtV111le3YsWO2K664wpaenm6z2Wy2Tz/91Hb33XcbnM5+fp77\n5MmTNpvNZsvOzrYNHz7cdtVVVxmczL5+OffQoUNtGzZssNlsNtsrr7xie+mllwxOZz+/nHvSpEm2\n9evX22w2m23OnDm2V1991eB0dau4uNjWu3dvW05Ojq28vNx2ww032LZs2WK77rrrbImJiTabzWb7\n3//9X9vcuXMNTlq3qpt706ZNLn9cu9j7bbO59nGturk3b97s8se1i73frn5c27Jli23kyJG2goIC\nW0VFhe2uu+6yrVq1yuWPa9XNvXz58lof11zmsoHnn39eDzzwgIKCgjRjxgy1bNlSktS+fXtlZWUZ\nnM5+fp7757uOzZw5U/fdd5/Bqezv57mzs7Pl5+enQYMGSZLuvvtu3XLLLQans59fvt9Wq1Xnzp2T\nJJWUlMjHx8fgdHWrsrJSVqtVJSUlqqysVGVlpSwWiwoLC9WnTx9J0o033qgVK1YYnLRuVTe3l5eX\nyx/Xqpvb29tbkmsf16qb28fHx+WPaxd7v139uJaUlKSBAwcqMDBQHh4eGjhwoD766COXP65VN/fy\n5ctrfVxzifL63XffKScnp2rZrbi4OEk//sfx5ptv6pprrjE4oX38cm5JWrBggTp06KCuXbsanMy+\nfjn3kSNHFB4erpkzZ2rs2LGaNWuW/P39jY5oF79+v5966inNmDFDV155pbZs2aKbbrrJ4IR1KyAg\nQA8++KBGjBihQYMGqXHjxvL09Lzg9tARERE6deqUgSnrXnVz9+7d2+WPa9XN3aNHD5c/rlU396lT\np1z+uHax99vVj2sdO3bU5s2bdfbsWZWWlmrt2rVucVyrbu7z58/X+rjmEuV10aJFmj59ukwmU9Vj\nJSUleuihh2S1WnXXXXcZmM5+fjl3cnKyVq9erXvvvdfoWHb3y7krKiq0bds2TZgwQV988YWio6P1\n0ksvGR3RLn45d0lJiWbMmKEPP/xQmzdv1uTJky+4PtAVHDx4UPHx8Vq3bp02bdoks9msLVu2/OZ5\nv/zv3hVUN/f7778vybWPa9XN/Y9//MPlj2vVzZ2enu7yx7WLvd+uflzr37+/xo0bpylTpujPf/6z\nevbsWXUn0V9yteNadXP/fNOp2hzXnL68lpeXa+vWrRo6dGjVY/n5+Zo2bZq8vb31j3/8wyXvyvXr\nub/66itlZ2dr/PjxuvPOO3X69GmX+xur9Nu5w8PD1axZM3Xp0kWSNGrUKO3du9fIiHbx67mTk5Pl\n7e1dNffEiRO1Y8cOIyPWuc2bN6t///4KDQ2Vl5eXxo0bp8TERGVnZ1c9Jzs7W40aNTIwZd2rbu4d\nO3a4/HGturn37Nnj8se16uaeP3++yx/XLvZ+u/pxraioSNdee60SEhL00UcfycvLS02aNHH541p1\nc0dHR9f6uOb05TU5OVnNmzdXQECAJMlms+m+++5Tly5dNHfuXJc7wP/s13M/8MADWrVqVdWnNyMi\nIi74hLqr+PXc3bt3V35+vpKSkiRJGzZsUIcOHYyMaBe/nrt58+Y6ceKE0tLSJElr165Vx44djYxY\n52JjY7V582adO3dONptNa9euVa9eveTr61v1P7T4+Hj96U9/Mjhp3apu7g4dOrj8ca26uTt27Ojy\nx7Xq5r755ptd/rhW3dzR0dEuf1w7fvy47rnnHpWXl6uwsFCff/65brjhBpc/rlU394gRI2p9XHPq\npbIk6ciRI4qKiqr6fuvWrdqxY4fOnj1bdW1gWFhY1a/dXMWv53YXv57bx8dHb731lp599lmdP39e\nERERVUuGuZJfzx0UFKSXX35ZDz/8sGw2m0JCQjRnzhwDE9a9K6+8UklJSRo3bpy8vLzUqVMn3Xnn\nnRoxYoSeeeYZFRYWqmnTppo3b57RUetUdXN36tRJb7/9tksf1y72fru66uZ+4IEHNHz4cJc+rlU3\n99NPP61Bgwa59HGtXbt2GjVqlMaMGaPKykpNmzZNPXv21Lx581z6uFbd3CUlJbXua9weFgAAAE7D\n6S8bAAAAgPugvAIAAMBpUF4BAADgNCivAAAAcBqUVwAAADgNyisAAAAu8MYbb+j//u//qv1ZTk6O\n7r77bo0aNUoTJ07Url27Lvl6c+fOVVxcnEaOHKkPPvjgsrJRXgEAACBJKigo0NNPP/27662+9NJL\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.style.use('seaborn')\n", "ax = tmp.plot.line(y='log_salary', figsize=(10,8))\n", "ax.set_title('Average salary, by year born')\n", "ax.set_ylabel('log(salary)')\n", "ax.set_xlabel('Year born')\n", "ax.set_xticks(range(1972, 1993, 2))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## 3. statsmodels: Let's run regressions!\n", "\n", "* **Q.** (Linear regression) Let's see whether RBI and ERA explains log_salary" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: log_salary R-squared: 0.088\n", "Model: OLS Adj. R-squared: 0.088\n", "Method: Least Squares F-statistic: 1190.\n", "Date: Thu, 08 Jun 2017 Prob (F-statistic): 0.00\n", "Time: 16:11:15 Log-Likelihood: -41942.\n", "No. Observations: 24717 AIC: 8.389e+04\n", "Df Residuals: 24714 BIC: 8.391e+04\n", "Df Model: 2 \n", "Covariance Type: nonrobust \n", "===============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "-------------------------------------------------------------------------------\n", "Intercept 13.4260 0.064 210.558 0.000 13.301 13.551\n", "batting_RBI 0.0134 0.000 48.674 0.000 0.013 0.014\n", "ERA -0.0503 0.015 -3.380 0.001 -0.079 -0.021\n", "==============================================================================\n", "Omnibus: 382.316 Durbin-Watson: 0.588\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 411.576\n", "Skew: 0.285 Prob(JB): 4.24e-90\n", "Kurtosis: 3.274 Cond. No. 291.\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "formula = 'log_salary ~ batting_RBI + ERA'\n", "result_ols = smf.ols(formula = formula, data = data).fit()\n", "print(result_ols.summary())" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "* **Q.** (Logistic regression) Let's see whether RBI and ERA explains whether the player gets above-average log_salary" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 1.0\n", "1 1.0\n", "2 1.0\n", "3 0.0\n", "4 1.0\n", "Name: above_average, dtype: float64" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data['above_average'] = (data['log_salary'] > data['log_salary'].mean()).astype(float)\n", "data['above_average'].head()" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 0.655540\n", " Iterations 4\n", " Logit Regression Results \n", "==============================================================================\n", "Dep. Variable: above_average No. Observations: 24717\n", "Model: Logit Df Residuals: 24714\n", "Method: MLE Df Model: 2\n", "Date: Thu, 08 Jun 2017 Pseudo R-squ.: 0.04363\n", "Time: 16:11:45 Log-Likelihood: -16203.\n", "converged: True LL-Null: -16942.\n", " LLR p-value: 0.000\n", "===============================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "-------------------------------------------------------------------------------\n", "Intercept -0.1677 0.100 -1.672 0.095 -0.364 0.029\n", "batting_RBI 0.0167 0.000 36.419 0.000 0.016 0.018\n", "ERA -0.1041 0.023 -4.440 0.000 -0.150 -0.058\n", "===============================================================================\n" ] } ], "source": [ "formula = 'above_average ~ batting_RBI + ERA'\n", "result_logit = smf.logit(formula = formula, data = data).fit()\n", "print(result_logit.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### In statsmodels, there are many other methods and tools that you can use. For more information, click [here](http://www.statsmodels.org/stable/index.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## [Bonus] Other useful packages to know for data analysis\n", "\n", "* **Matching strings**: *FuzzyWuzzy*\n", "* **Machine learning**: *sklearn*\n", "* **Neural network (Deep learning)**: *TensorFlow*\n", "* **Social network analysis**: *networkx*\n", "\n", "### 1. FuzzyWuzzy\n", "* uses Levenshtein Distance to calculate the differences between sequences" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "c:\\users\\saerom (ronnie) lee\\appdata\\local\\programs\\python\\python35\\lib\\site-packages\\fuzzywuzzy\\fuzz.py:35: UserWarning: Using slow pure-python SequenceMatcher. Install python-Levenshtein to remove this warning\n", " warnings.warn('Using slow pure-python SequenceMatcher. Install python-Levenshtein to remove this warning')\n" ] } ], "source": [ "# Import the pacakage\n", "from fuzzywuzzy import fuzz\n", "from fuzzywuzzy import process" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Simple Ratio" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "97" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fuzz.ratio(\"This is a test\", \"This is a test!\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Partial Ratio" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "100" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fuzz.partial_ratio(\"this is a test\", \"this is a test!\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Token Sort Ratio" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "91" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fuzz.ratio(\"fuzzy wuzzy was a bear\", \"wuzzy fuzzy was a bear\")" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "100" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fuzz.token_sort_ratio(\"fuzzy wuzzy was a bear\", \"wuzzy fuzzy was a bear\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Token Set Ratio" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "84" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fuzz.token_sort_ratio(\"fuzzy was a bear\", \"fuzzy fuzzy was a bear\")" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "100" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fuzz.token_set_ratio(\"fuzzy was a bear\", \"fuzzy fuzzy was a bear\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Process" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('New York Jets', 100), ('New York Giants', 79)]" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "choices = [\"Atlanta Falcons\", \"New York Jets\", \"New York Giants\", \"Dallas Cowboys\"]\n", "process.extract(\"new york jets\", choices, limit=2)" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "('Dallas Cowboys', 90)" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "process.extractOne(\"cowboys\", choices)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.3" } }, "nbformat": 4, "nbformat_minor": 2 }